CVE-2026-33248 json
NATS has mTLS verify_and_map authentication bypass via incorrect Subject DN matching
published 2026-03-24 7 mo ago modified 2026-09-10 1 mo ago also BIT-nats-2026-33248 , EUVD-2026-15999 , GHSA-3f24-pcvm-5jqc , GO-2026-4828 , JLSEC-2026-1132
- cvss
- 4.2
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.1%
- EPSS 0.1% chance of exploitation in 30 days, percentile 4%
- public exploits
- 0
- none known
Summary
NATS-Server is a High-Performance server for NATS.io, a cloud and edge native messaging system. Prior to versions 2.11.15 and 2.12.6, when using mTLS for client identity, with `verify_and_map` to derive a NATS identity from the client certificate's Subject DN, certain patterns of RDN would not be correctly enforced, allowing for authentication bypass. This does require a valid certificate from a CA already trusted for client certificates, and `DN` naming patterns which the NATS maintainers consider highly unlikely. So this is an unlikely attack. Nonetheless, administrators who have been very sophisticated in their `DN` construction patterns might conceivably be impacted. Versions 2.11.15 and 2.12.6 contain a fix. As a workaround, developers should review their CA issuing practices.
Patch / fix
- go github.com/nats-io/nats-server/v2 2.11.15, 2.12.6
- bitnami nats 2.11.15, 2.12.6
- julia nats_server_jll 2.14.3+0
- linuxfoundation nats-server 2.11.15, 2.12.6
- nats nats_server 2.11.15, 2.12.6
- nats nats_streaming_server 2.11.15, 2.12.6
- nats-server Debian 14 2.12.6-1
debian advisories DEBIAN-CVE-2026-33248
- govulncheck-vulndb openSUSE Leap 15.6 0.0.20260326T203309-150000.1.155.2
suse advisories SUSE-SU-2026:1135-1
- govulncheck-vulndb openSUSE Leap 16.0 0.0.20260723T184607-160000.1.1
opensuse advisories openSUSE-SU-2026:21483-1
- nats-server Alpine 3.24, Alpine 3.23 2.12.6-r0
alpine advisories ALPINE-CVE-2026-33248
Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-33248 updated cvss 4.8
github.com/nats-io/nats-server: nats: NATS-Server: Authentication bypass due to incorrect Subject DN matching during mTLS client identity verification
-
Red Hat Multicluster Global Hub multicluster-globalhub/multicluster-globalhub-grafana-rhel9 Red Hat OpenShift Container Platform 4 openshift4/oc-mirror-plugin-rhel9affected: workaround, no fix available “Fix deferred”
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 7 mo ago
Exploit prediction
0.15% chance of exploitation in the next 30 days, higher than 4% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 4.2 | CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N |
| GitHub | 3.1 | 4.2 | CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N |
| OSV | 3.1 | 4.2 | CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | github.com/nats-io/nats-server/v2 | <2.11.15 >=2.12.0-RC.1, <2.12.6 |
2.11.15 2.12.6 |
| go | github.com/nats-io/nats-server | all versions |
no fix listed |
| bitnami | nats | <2.11.15 >=2.12.0, <2.12.6 |
2.11.15 2.12.6 |
| julia | nats_server_jll | <2.14.3+0 |
2.14.3+0 |
Affected products
- nats-io nats-server
Classification
References
-
github.com
/nats-io/nats-server/security/advisories/GHSA-3f24-pcvm-5jqc
web, vendor-advisory, advisory
-
advisories.nats.io
/CVE/secnote-2026-13.txt
web, vendor-advisory, advisory
-
nvd.nist.gov
/vuln/detail/CVE-2026-33248
advisory, web
-
github.com
/nats-io/nats-server
package
Sources
- CVE List CVE-2026-33248
- GitHub Advisory GHSA-3f24-pcvm-5jqc
- NVD CVE-2026-33248
- OSV BIT-nats-2026-33248
- OSV GO-2026-4828
- OSV JLSEC-2026-1132
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.