CVE-2026-67413: RabbitMQ: Authenticated RabbitMQ JMS Topic Selector Users Can Consume Broker CPU with an Unbounded LIKE Regular Expression
RabbitMQ is a messaging and streaming broker. From 4.0.0 until 4.0.23, 4.1.14, 4.2.9, and 4.3.3, the optional rabbitmqjmstopicexchange plugin's x-jms-topic exchange accepted a client-controlled rjmserlangselector binding expression whose LIKE evaluator expanded percent and underscore wildcards into overlapping PCRE fragments. It executed those fragments with raw re:run/3 without match or recursion limits, allowing an authenticated tenant that can bind and publish to consume broker scheduler CPU and deny service with pathological selectors. This issue is fixed in versions 4.0.23, 4.1.14, 4.2.9, and 4.3.3.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
RabbitMQto a version that resolves this vulnerability.Fixed in 4.0.23 - Upgrade
Upgrade
RabbitMQto a version that resolves this vulnerability.Fixed in 4.1.14 - Upgrade
Upgrade
RabbitMQto a version that resolves this vulnerability.Fixed in 4.2.9 - Upgrade
Upgrade
RabbitMQto a version that resolves this vulnerability.Fixed in 4.3.3
Event History
Frequently Asked Questions
Which deployments are exposed to this issue?
Deployments are exposed when they use the optional rabbitmq_jms_topic_exchange plugin and its x-jms-topic exchange on affected RabbitMQ releases. The vulnerable behavior involves rjms_erlang_selector binding expressions.
What access does an attacker need?
An attacker must be an authenticated tenant that can create bindings and publish messages. They can use a pathological selector to consume broker scheduler CPU and cause denial of service.
Is there a mitigation if an immediate upgrade is not possible?
The provided information identifies the optional rabbitmq_jms_topic_exchange plugin and x-jms-topic exchange as the affected component. Disabling or avoiding use of that optional plugin/exchange removes the described attack path.
Which releases contain the fix?
The issue is fixed in RabbitMQ 4.0.23, 4.1.14, 4.2.9, and 4.3.3.