CVE-2026-33223 json
NATS Server: Incomplete Stripping of Nats-Request-Info Header Allows Identity Spoofing
published 2026-03-24 7 mo ago modified 2026-09-10 1 mo ago also BIT-nats-2026-33223 , EUVD-2026-15996 , GHSA-pwx7-fx9r-hr4h , GO-2026-4835 , JLSEC-2026-1129
- cvss
- 6.4
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 11%
- 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, the NATS message header `Nats-Request-Info:` is supposed to be a guarantee of identity by the NATS server, but the stripping of this header from inbound messages was not fully effective. An attacker with valid credentials for any regular client interface could thus spoof their identity to services which rely upon this header. Versions 2.11.15 and 2.12.6 contain a fix. No known workarounds are available.
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-33223
- 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-33223
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-33223 updated cvss 6.4
nats-server: github.com/nats-io/nats-server: NATS-Server: Identity spoofing via `Nats-Request-Info:` header
-
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.21% chance of exploitation in the next 30 days, higher than 11% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 6.4 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N |
| GitHub | 3.1 | 6.4 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N |
| NVD | 3.1 | 5.4 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N |
| OSV | 3.1 | 5.4 | CVSS:3.1/AV:N/AC:L/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
- Weakness
-
- CWE-290 Authentication Bypass by Spoofing
References
-
github.com
/nats-io/nats-server/security/advisories/GHSA-pwx7-fx9r-hr4h
web, vendor-advisory, advisory
-
advisories.nats.io
/CVE/secnote-2026-09.txt
web, vendor-advisory, advisory
-
nvd.nist.gov
/vuln/detail/CVE-2026-33223
advisory, web
-
github.com
/nats-io/nats-server
package
Sources
- CVE List CVE-2026-33223
- GitHub Advisory GHSA-pwx7-fx9r-hr4h
- NVD CVE-2026-33223
- OSV BIT-nats-2026-33223
- OSV GO-2026-4835
- OSV JLSEC-2026-1129
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.