CVE-2026-26447

Description

A flaw was found in Stomper. An unauthenticated client can exploit a use-after-free vulnerability by repeatedly issuing SUBSCRIBE commands for the same destination over a single connection and then closing that connection. This leads to incorrect cleanup of internal subscription structures, resulting in a heap use-after-free during StompClient destruction. Successful exploitation causes the broker process to crash, leading to a denial of service.

Statement

A use-after-free vulnerability was found in Stomper. A remote, unauthenticated attacker can exploit this by repeatedly issuing SUBSCRIBE commands for the same destination over a single connection and subsequently closing the connection. This causes incorrect cleanup of internal subscription structures during StompClient destruction, leading to a heap use-after-free and crashing the broker process. RHEL default security controls like address space layout randomization (ASLR) and process isolation limit this impact to a Denial of Service against the broker process, without granting arbitrary code execution.

Mitigation

Limit exposure by restricting access to the STOMP endpoint using network firewalls or security group rules to allow only trusted clients. Where supported by the infrastructure layer, enforce connection rate limiting or per-IP subscription caps to mitigate repeated socket connection-closing cycles.

Understanding the Weakness (CWE)

Confidentiality

Technical Impact: Read Memory

If the expired pointer is used in a read operation, an attacker might be able to control data read in by the application.

Availability

Technical Impact: DoS: Crash, Exit, or Restart

If the expired pointer references a memory location that is not accessible to the product, or points to a location that is "malformed" (such as NULL) or larger than expected by a read or write operation, then a crash may occur.

Integrity,Confidentiality,Availability

Technical Impact: Execute Unauthorized Code or Commands

If the expired pointer is used in a function call, or points to unexpected data in a write operation, then code execution may be possible.

Frequently Asked Questions

Want to get errata notifications? Sign up here.