{"id":"CVE-2026-67231","aliases":["AZL-105290","BIT-rabbitmq-2026-67231","DEBIAN-CVE-2026-67231","EUVD-2026-85664","GHSA-cw8c-4m83-9c6w","UBUNTU-CVE-2026-67231","USN-8933-1"],"status":"published","title":"RabbitMQ: Trust-store whitelist by Issuer+Serial only","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.","severity":{"version":"4.0","score":9.1,"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","level":"critical","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-09","score":0.00228,"percentile":0.13601,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-295"],"published":"2026-09-23T20:47:36Z","modified":"2026-11-05T05:40:51Z","fixes":[{"ecosystem":"Azure Linux:3","package":"rabbitmq-server","fixed_in":["3.13.7-10"],"sources":["osv"]},{"ecosystem":"Bitnami","package":"rabbitmq","fixed_in":["3.13.15","4.0.20","4.1.11","4.2.6"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"rabbitmq-server","fixed_in":["4.3.0-2"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:16.04:LTS","package":"rabbitmq-server","fixed_in":["3.5.7-1ubuntu0.16.04.4+esm3"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:18.04:LTS","package":"rabbitmq-server","fixed_in":["3.6.10-1ubuntu0.5+esm1"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:20.04:LTS","package":"rabbitmq-server","fixed_in":["3.8.3-0ubuntu0.3+esm2"],"sources":["osv"]},{"ecosystem":"Ubuntu:22.04:LTS","package":"rabbitmq-server","fixed_in":["3.9.27-0ubuntu0.6"],"sources":["osv"]},{"ecosystem":"Ubuntu:24.04:LTS","package":"rabbitmq-server","fixed_in":["3.12.1-1ubuntu1.7"],"sources":["osv"]},{"ecosystem":"Ubuntu:26.04:LTS","package":"rabbitmq-server","fixed_in":["4.0.5-10ubuntu5.2"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Azure Linux:3","package":"rabbitmq-server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.13.7-10"}]}]},{"source":"osv","ecosystem":"Bitnami","package":"rabbitmq","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"}]}]},{"source":"osv","ecosystem":"Debian:12","package":"rabbitmq-server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.10.8-1.1","3.10.8-1.1+deb12u1","3.10.8-2","3.10.8-3","3.10.8-4","3.12.1-1","3.12.1-1.1","4.0.5-1","4.0.5-10","4.0.5-11","4.0.5-12","4.0.5-13","4.0.5-14","4.0.5-2","4.0.5-3","4.0.5-4","4.0.5-5","4.0.5-6","4.0.5-8","4.0.5-9","4.3.0-1","4.3.0-2","4.3.0-3","4.3.2-1","4.3.2-2","4.3.2-3","4.3.2-4","4.3.2-5","4.3.6-1"]},{"source":"osv","ecosystem":"Debian:13","package":"rabbitmq-server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["4.0.5-10","4.0.5-11","4.0.5-12","4.0.5-13","4.0.5-14","4.0.5-6","4.0.5-6+deb13u1","4.0.5-6+deb13u2","4.0.5-8","4.0.5-9","4.3.0-1","4.3.0-2","4.3.0-3","4.3.2-1","4.3.2-2","4.3.2-3","4.3.2-4","4.3.2-5","4.3.6-1"]},{"source":"osv","ecosystem":"Debian:14","package":"rabbitmq-server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.3.0-2"}]}],"versions":["4.0.5-10","4.0.5-11","4.0.5-12","4.0.5-13","4.0.5-14","4.0.5-6","4.0.5-8","4.0.5-9","4.3.0-1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:16.04:LTS","package":"rabbitmq-server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.5.7-1ubuntu0.16.04.4+esm3"}]}],"versions":["3.5.4-1","3.5.4-3","3.5.4-3.1","3.5.7-1","3.5.7-1ubuntu0.16.04.1","3.5.7-1ubuntu0.16.04.2","3.5.7-1ubuntu0.16.04.4","3.5.7-1ubuntu0.16.04.4+esm1","3.5.7-1ubuntu0.16.04.4+esm2"]},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"rabbitmq-server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.6.10-1ubuntu0.5+esm1"}]}],"versions":["3.6.10-1","3.6.10-1ubuntu0.1","3.6.10-1ubuntu0.3","3.6.10-1ubuntu0.4","3.6.10-1ubuntu0.5"]},{"source":"osv","ecosystem":"Ubuntu:Pro:20.04:LTS","package":"rabbitmq-server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.8.3-0ubuntu0.3+esm2"}]}],"versions":["3.7.8-4ubuntu2","3.7.18-1","3.8.2-0ubuntu1","3.8.2-0ubuntu1.1","3.8.2-0ubuntu1.2","3.8.2-0ubuntu1.3","3.8.2-0ubuntu1.4","3.8.2-0ubuntu1.5","3.8.3-0ubuntu0.1","3.8.3-0ubuntu0.2","3.8.3-0ubuntu0.3","3.8.3-0ubuntu0.3+esm1"]},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"rabbitmq-server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.9.27-0ubuntu0.6"}]}],"versions":["3.8.9-3ubuntu1","3.9.8-1","3.9.8-2","3.9.8-3","3.9.8-5","3.9.8-6","3.9.13-1","3.9.13-1ubuntu0.22.04.1","3.9.13-1ubuntu0.22.04.2","3.9.27-0ubuntu0.1","3.9.27-0ubuntu0.2","3.9.27-0ubuntu0.5"]},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"rabbitmq-server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.12.1-1ubuntu1.7"}]}],"versions":["3.12.1-1","3.12.1-1ubuntu1","3.12.1-1ubuntu1.2","3.12.1-1ubuntu1.4","3.12.1-1ubuntu1.6"]},{"source":"osv","ecosystem":"Ubuntu:26.04:LTS","package":"rabbitmq-server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.0.5-10ubuntu5.2"}]}],"versions":["4.0.5-8ubuntu2","4.0.5-10ubuntu1","4.0.5-10ubuntu2","4.0.5-10ubuntu3","4.0.5-10ubuntu4","4.0.5-10ubuntu5","4.0.5-10ubuntu5.1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:16.04:LTS","package":"rabbitmq-server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.5.7-1ubuntu0.16.04.4+esm3"}]}],"versions":["3.5.4-1","3.5.4-3","3.5.4-3.1","3.5.7-1","3.5.7-1ubuntu0.16.04.1","3.5.7-1ubuntu0.16.04.2","3.5.7-1ubuntu0.16.04.4","3.5.7-1ubuntu0.16.04.4+esm1","3.5.7-1ubuntu0.16.04.4+esm2"],"bundled":12},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"rabbitmq-server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.6.10-1ubuntu0.5+esm1"}]}],"versions":["3.6.10-1","3.6.10-1ubuntu0.1","3.6.10-1ubuntu0.3","3.6.10-1ubuntu0.4","3.6.10-1ubuntu0.5"],"bundled":12},{"source":"osv","ecosystem":"Ubuntu:Pro:20.04:LTS","package":"rabbitmq-server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.8.3-0ubuntu0.3+esm2"}]}],"versions":["3.7.8-4ubuntu2","3.7.18-1","3.8.2-0ubuntu1","3.8.2-0ubuntu1.1","3.8.2-0ubuntu1.2","3.8.2-0ubuntu1.3","3.8.2-0ubuntu1.4","3.8.2-0ubuntu1.5","3.8.3-0ubuntu0.1","3.8.3-0ubuntu0.2","3.8.3-0ubuntu0.3","3.8.3-0ubuntu0.3+esm1"],"bundled":12},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"rabbitmq-server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.9.27-0ubuntu0.6"}]}],"versions":["3.8.9-3ubuntu1","3.9.8-1","3.9.8-2","3.9.8-3","3.9.8-5","3.9.8-6","3.9.13-1","3.9.13-1ubuntu0.22.04.1","3.9.13-1ubuntu0.22.04.2","3.9.27-0ubuntu0.1","3.9.27-0ubuntu0.2","3.9.27-0ubuntu0.5"],"bundled":12},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"rabbitmq-server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.12.1-1ubuntu1.7"}]}],"versions":["3.12.1-1","3.12.1-1ubuntu1","3.12.1-1ubuntu1.2","3.12.1-1ubuntu1.4","3.12.1-1ubuntu1.6"],"bundled":12},{"source":"osv","ecosystem":"Ubuntu:26.04:LTS","package":"rabbitmq-server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.0.5-10ubuntu5.2"}]}],"versions":["4.0.5-8ubuntu2","4.0.5-10ubuntu1","4.0.5-10ubuntu2","4.0.5-10ubuntu3","4.0.5-10ubuntu4","4.0.5-10ubuntu5","4.0.5-10ubuntu5.1"],"bundled":12}],"products":[{"vendor":"broadcom","product":"rabbitmq_server"},{"vendor":"rabbitmq","product":"rabbitmq-server"}],"references":[{"url":"https://github.com/rabbitmq/rabbitmq-server/security/advisories/GHSA-cw8c-4m83-9c6w","tags":["x_refsource_CONFIRM","Vendor Advisory","advisory","report"]},{"url":"https://github.com/rabbitmq/rabbitmq-server/releases/tag/v4.2.6","tags":["x_refsource_MISC","Release Notes","article","web","report"]},{"url":"https://github.com/rabbitmq/rabbitmq-server/releases/tag/v4.3.0","tags":["x_refsource_MISC","Release Notes","article","web","report"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-67231","tags":["web","advisory"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/67xxx/CVE-2026-67231.json","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-67231","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2026-67231","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-67231","tags":["report"]},{"url":"https://ubuntu.com/security/notices/USN-8933-1","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2026-66070","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-66077","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-66079","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-67232","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-67235","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-67236","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-67237","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-67238","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-67239","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-67404","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-67409","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2026-67231","title":"RabbitMQ: Trust-store whitelist by Issuer+Serial only","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.","status":"published","published":"2026-09-23T20:47:36.045Z","modified":"2026-09-29T02:18:07.983Z","cvss":[{"version":"4.0","score":9.1,"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","level":"critical","assessor":"cna"}],"cwes":["CWE-295"],"updated_at":"2026-11-02T14:20:06.562031Z"}],"euvd":[{"id":"EUVD-2026-85664","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.","status":"published","published":"2026-09-23T20:47:36Z","modified":"2026-09-29T02:18:07Z","cvss":[{"version":"4.0","score":9.1,"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","level":"critical"}],"updated_at":"2026-11-02T17:27:52.759804Z"}],"nvd":[{"id":"CVE-2026-67231","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.","status":"published","published":"2026-09-23T21:17:00.94Z","modified":"2026-10-19T20:38:54.217Z","cvss":[{"version":"4.0","score":9.1,"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/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","level":"critical","assessor":"secondary"},{"version":"3.1","score":9.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","level":"critical","assessor":"primary"}],"cwes":["CWE-295"],"updated_at":"2026-11-02T14:12:51.036099Z"}],"osv":[{"id":"CVE-2026-67231","title":"RabbitMQ: Trust-store whitelist by Issuer+Serial only","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.","status":"published","published":"2026-09-23T20:47:36.045Z","modified":"2026-10-28T02:30:48.854493641Z","cvss":[{"version":"4.0","score":9.1,"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","level":"critical"}],"cwes":["CWE-295"],"updated_at":"2026-11-02T15:45:14.46177Z"},{"id":"DEBIAN-CVE-2026-67231","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.","status":"published","published":"2026-09-23T21:17:00.94Z","modified":"2026-10-23T18:05:41.58361196Z","cvss":[{"version":"3.1","score":9.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","level":"critical"}],"updated_at":"2026-11-02T15:46:01.68444Z"},{"id":"UBUNTU-CVE-2026-67231","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.","status":"published","published":"2026-09-23T21:17:00Z","modified":"2026-10-22T10:30:15.645245108Z","cvss":[{"version":"4.0","score":9.1,"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","level":"critical"},{"version":"3.1","score":9.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","level":"critical"}],"updated_at":"2026-11-02T16:56:53.710209Z"},{"id":"AZL-105290","title":"CVE-2026-67231 affecting package rabbitmq-server for versions less than 3.13.7-10","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.","status":"published","published":"2026-09-23T21:17:00Z","modified":"2026-11-05T05:40:51Z","updated_at":"2026-11-05T16:41:17.719431Z"},{"id":"BIT-rabbitmq-2026-67231","title":"RabbitMQ: Trust-store whitelist by Issuer+Serial only","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.","status":"published","published":"2026-10-01T09:33:24.238Z","modified":"2026-10-20T10:30:12.893276112Z","updated_at":"2026-11-02T15:28:35.111822Z"},{"id":"USN-8933-1","title":"rabbitmq-server vulnerabilities","description":"It was discovered that RabbitMQ Server incorrectly handled CORS wildcard\norigin configuration. An attacker could possibly use this issue to cause\na cross-site request forgery attack. This issue only affected Ubuntu 18.04\nLTS, Ubuntu 20.04 LTS, Ubuntu 22.04 LTS, Ubuntu 24.04 LTS, and Ubuntu 26.04\nLTS. (CVE-2026-66070)\n\nIt was discovered that RabbitMQ Server incorrectly handled TLS\npeer-certificate DNs in the management UI. An attacker could possibly use\nthis issue to cause a cross-site scripting attack. (CVE-2026-66077)\n\nIt was discovered that RabbitMQ Server incorrectly handled AMQP 1.0 arrays\nwith zero-width element constructors. An attacker could possibly use this\nissue to cause a denial of service. This issue only affected Ubuntu 20.04\nLTS, Ubuntu 22.04 LTS, Ubuntu 24.04 LTS, and Ubuntu 26.04 LTS.\n(CVE-2026-66079)\n\nIt was discovered that RabbitMQ Server trust-store plugin incorrectly\nvalidated client certificates. An attacker could possibly use this issue to\nbypass TLS client authentication. This issue only affected Ubuntu 18.04 LTS,\nUbuntu 20.04 LTS, Ubuntu 22.04 LTS, Ubuntu 24.04 LTS, and Ubuntu 26.04 LTS.\n(CVE-2026-67231)\n\nIt was discovered that RabbitMQ Server incorrectly handled WebSocket frame\nsizes. An attacker could possibly use this issue to cause a denial of\nservice. This issue only affected Ubuntu 20.04 LTS, Ubuntu 22.04 LTS,\nUbuntu 24.04 LTS, and Ubuntu 26.04 LTS. (CVE-2026-67232)\n\nIt was discovered that RabbitMQ Server incorrectly handled content-header\nbody sizes. An attacker could possibly use this issue to cause a denial of\nservice. (CVE-2026-67235)\n\nIt was discovered that RabbitMQ Server incorrectly stored credentials in an\ninsecure cookie. An attacker could possibly use this issue to expose\nsensitive information. This issue only affected Ubuntu 20.04 LTS, Ubuntu\n22.04 LTS, Ubuntu 24.04 LTS, and Ubuntu 26.04 LTS. (CVE-2026-67236)\n\nIt was discovered that RabbitMQ Server incorrectly handled OAuth bearer\ntokens in bootstrap JavaScript. An attacker could possibly use this issue\nto cause a cross-site scripting attack. This issue only affected Ubuntu\n24.04 LTS and Ubuntu 26.04 LTS. (CVE-2026-67237)\n\nIt was discovered that RabbitMQ Server incorrectly handled ETF-encoded PID\nnode names. An attacker could possibly use this issue to cause a denial of\nservice. This issue only affected Ubuntu 22.04 LTS, Ubuntu 24.04 LTS, and\nUbuntu 26.04 LTS. (CVE-2026-67238)\n\nIt was discovered that RabbitMQ Server incorrectly handled TLS\npeer-certificate DNs in the stream management UI. An attacker could\npossibly use this issue to cause a cross-site scripting attack. This issue\nonly affected Ubuntu 22.04 LTS, Ubuntu 24.04 LTS, and Ubuntu 26.04 LTS.\n(CVE-2026-67239)\n\nIt was discovered that RabbitMQ Server incorrectly handled OAuth2 SSL\noptions when no CA certificates were available. An attacker could possibly\nuse this issue to bypass TLS verification. This issue only affected Ubuntu\n26.04 LTS. (CVE-2026-67404)\n\nIt was discovered that RabbitMQ Server incorrectly validated HTTP response\nstatus codes when fetching JWKS keys. An attacker could possibly use this\nissue to cause a denial of service. This issue only affected Ubuntu 22.04\nLTS, Ubuntu 24.04 LTS, and Ubuntu 26.04 LTS. (CVE-2026-67409)","status":"published","published":"2026-10-15T17:27:24Z","modified":"2026-11-03T21:19:26.174439472Z","updated_at":"2026-11-03T21:43:32.336286Z"}]}}
