Skip to content
Heist/ feed
Back to feed
MediumFix available

RabbitMQ: JMS topic exchange erl_scan atom exhaustion

Type: advisorySources: OSV

RabbitMQ is a messaging and streaming broker. Prior to versions 3.13.15, 4.0.20, 4.1.11, 4.2.6, 4.3.0, When a binding is created on an x-jms-topic exchange, add_binding/3 reads the rjms_erlang_selector argument and passes it through erl_scan:string/1 then erl_parse:parse_term/1. erl_scan:string/1 interns every atom literal it tokenizes. validate_binding/2 is a no-op (-> ok.), there is no length cap, and the surrounding try/catch cannot reclaim atoms. The Java JMS client compiles selectors client-side, but the server does not enforce this , a raw AMQP client can send arbitrary selector strings. An authenticated low-privilege AMQP user confined to one vhost can crash the entire broker node (cross-tenant DoS) in <100 bind calls. Preconditions include rabbitmq_jms_topic_exchange plugin enabled (bundled; required for any JMS deployment) Authenticated AMQP user with read on an x-jms-topic exchange + write on a queue (or configure to declare both). This issue is fixed in versions 3.13.15, 4.0.20, 4.1.11, 4.2.6, 4.3.0.

Products
rabbitmq
Affected versions
Not specified
Fixed versions
3.13.15, 4.0.20, 4.1.11, 4.2.6
CVEs
CVE-2026-67220
Confirmed fixed CVEs
Not specified
Updated in this feed
31 Oct 2026, 09:34 UTC · Revision 1

Source evidence

RabbitMQ: JMS topic exchange erl_scan atom exhaustion

core-osv · Original source

Published 1 Oct 2026, 09:33 UTC

RabbitMQ is a messaging and streaming broker. Prior to versions 3.13.15, 4.0.20, 4.1.11, 4.2.6, 4.3.0, When a binding is created on an x-jms-topic exchange, add_binding/3 reads the rjms_erlang_selector argument and passes it through erl_scan:string/1 then erl_parse:parse_term/1. erl_scan:string/1 interns every atom literal it tokenizes. validate_binding/2 is a no-op (-> ok.), there is no length cap, and the surrounding try/catch cannot reclaim atoms. The Java JMS client compiles selectors client-side, but the server does not enforce this , a raw AMQP client can send arbitrary selector strings. An authenticated low-privilege AMQP user confined to one vhost can crash the entire broker node (cross-tenant DoS) in <100 bind calls. Preconditions include rabbitmq_jms_topic_exchange plugin enabled (bundled; required for any JMS deployment) Authenticated AMQP user with read on an x-jms-topic exchange + write on a queue (or configure to declare both). This issue is fixed in versions 3.13.15, 4.0.20, 4.1.11, 4.2.6, 4.3.0.

osv:BIT-rabbitmq-2026-67220

rabbitmq

Fixed versions: 3.13.15, 4.0.20, 4.1.11, 4.2.6

Complete source record
{
  "id": "5627eda84f76edf2468e6fc12eaaf2842d273e9526c6d51481f2cfea6527adfe",
  "url": "https://osv.dev/vulnerability/BIT-rabbitmq-2026-67220",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "RabbitMQ: JMS topic exchange erl_scan atom exhaustion",
    "summary": "RabbitMQ is a messaging and streaming broker. Prior to versions 3.13.15, 4.0.20, 4.1.11, 4.2.6, 4.3.0, When a binding is created on an x-jms-topic exchange, add_binding/3 reads the rjms_erlang_selector argument and passes it through erl_scan:string/1 then erl_parse:parse_term/1. erl_scan:string/1 interns every atom literal it tokenizes. validate_binding/2 is a no-op (-> ok.), there is no length cap, and the surrounding try/catch cannot reclaim atoms. The Java JMS client compiles selectors client-side, but the server does not enforce this , a raw AMQP client can send arbitrary selector strings. An authenticated low-privilege AMQP user confined to one vhost can crash the entire broker node (cross-tenant DoS) in <100 bind calls. Preconditions include rabbitmq_jms_topic_exchange plugin enabled (bundled; required for any JMS deployment) Authenticated AMQP user with read on an x-jms-topic exchange + write on a queue (or configure to declare both). This issue is fixed in versions 3.13.15, 4.0.20, 4.1.11, 4.2.6, 4.3.0.",
    "evidence": "osv:BIT-rabbitmq-2026-67220",
    "products": [
      {
        "name": {
          "value": "rabbitmq",
          "evidence": "/affected/0/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "3.13.15",
            "evidence": "/affected/0/ranges"
          },
          {
            "value": "4.0.20",
            "evidence": "/affected/0/ranges"
          },
          {
            "value": "4.1.11",
            "evidence": "/affected/0/ranges"
          },
          {
            "value": "4.2.6",
            "evidence": "/affected/0/ranges"
          }
        ],
        "affected_versions": []
      }
    ],
    "severity": "medium",
    "structured": {
      "id": "BIT-rabbitmq-2026-67220",
      "aliases": [
        "BIT-rabbitmq-2026-67220",
        "CVE-2026-67220",
        "GHSA-r3qr-4h63-mvj2"
      ],
      "affected": [
        {
          "ranges": [
            {
              "type": "SEMVER",
              "events": [
                {
                  "introduced": "3.13.0"
                },
                {
                  "fixed": "3.13.15"
                },
                {
                  "introduced": "4.0.0"
                },
                {
                  "fixed": "4.0.20"
                },
                {
                  "introduced": "4.1.0"
                },
                {
                  "fixed": "4.1.11"
                },
                {
                  "introduced": "4.2.0"
                },
                {
                  "fixed": "4.2.6"
                }
              ]
            }
          ],
          "package": {
            "name": "rabbitmq",
            "purl": "pkg:bitnami/rabbitmq",
            "ecosystem": "Bitnami"
          },
          "severity": [
            {
              "type": "CVSS_V4",
              "score": "CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X"
            }
          ],
          "database_specific": {
            "source": "https://github.com/bitnami/vulndb/tree/main/data/rabbitmq/BIT-rabbitmq-2026-67220.json"
          }
        }
      ],
      "modified": "2026-10-20T10:30:06.386556064Z",
      "provider": "osv",
      "references": [
        "https://github.com/rabbitmq/rabbitmq-server/releases/tag/v4.2.6",
        "https://github.com/rabbitmq/rabbitmq-server/security/advisories/GHSA-r3qr-4h63-mvj2",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-67220"
      ],
      "provider_metadata": {
        "cpes": [
          "cpe:2.3:a:vmware:rabbitmq:*:*:*:*:*:*:*:*"
        ],
        "severity": "Medium"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-67220",
        "evidence": "/aliases"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/database_specific/severity"
  },
  "source_id": "core-osv",
  "document_id": 379082,
  "published_at": "2026-10-01T09:33:06.164+00:00"
}