Skip to content

GHSA-pwx7-fx9r-hr4h BIT-nats-2026-33223 CVE-2026-33223 GO-2026-4835

NATS Server: Incomplete Stripping of Nats-Request-Info Header Allows Identity Spoofing

Medium Go
Severity
6.4 / 10
Medium · CVSS 3.1
Exploit chance (EPSS)
0.21%
Chance of exploitation in the next 30 days. Higher than 11.89% of scored vulnerabilities.
Known exploited
No
Not in CISA's catalog
Weakness
CWE-290 Authentication Bypass by Spoofing
Fix
2.11.15
Upgrade github.com/nats-io/nats-server/v2 to this version or later

Description

Background

NATS.io is a high performance open source pub-sub distributed communication technology, built for the cloud, on-premise, IoT, and edge computing.

The nats-server offers a Nats-Request-Info: message header, providing information about a request.

Problem Description

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.

Affected Versions

Any version before v2.12.6 or v2.11.15

Workarounds

None.

Affected versions

Go

PackageVulnerableFixed in
github.com/nats-io/nats-server
all versions
No fix yet
github.com/nats-io/nats-server/v2
< 2.11.15
2.11.15
github.com/nats-io/nats-server/v2
>= 2.12.0-RC.1, < 2.12.6
2.12.6
github.com/nats-io/nats-server/v2
< 2.11.15
>= 2.12.0-RC.1, < 2.12.6
2.11.15
2.12.6

How to fix

Move to the fixed version or later with your package manager, update the lockfile, and run your tests. If the package only arrives through another dependency, upgrade that dependency first. If none of its releases pulls a fixed version yet, force the version with your package manager's override.

github.com/nats-io/nats-server/v2 Go → 2.11.15

go
go get github.com/nats-io/nats-server/v2@v2.11.15 && go mod tidy

Severity breakdown

CVSS 3.1 6.4

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N

Attack vector
Network
Attack complexity
Low
Privileges required
Low
User interaction
None
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
None

Weakness

CWE-290: Authentication Bypass by Spoofing

This attack-focused weakness is caused by incorrectly implemented authentication schemes that are subject to spoofing attacks.

References

Timeline

  1. Published
  2. Last updated by the source
  3. Latest EPSS score
AdvisorySeverityWhy it's related
GHSA-pq2q-rcw4-3hr6
NATS: Pre-auth remote server crash via WebSocket frame length overflow in wsRead
High Also affects github.com/nats-io/nats-server
GHSA-3f24-pcvm-5jqc
NATS has mTLS verify_and_map authentication bypass via incorrect Subject DN matching
Medium Also affects github.com/nats-io/nats-server
GHSA-55h8-8g96-x4hj
NATS: Leafnode connections allow spoofing of Nats-Request-Info identity headers
Medium Also affects github.com/nats-io/nats-server
GHSA-9983-vrx2-fg9c
NATS JetStream has an authorization bypass through its Management API
Medium Also affects github.com/nats-io/nats-server
GHSA-8r68-gvr4-jh7j
NATS is vulnerable to pre-auth DoS through WebSockets client service
Medium Also affects github.com/nats-io/nats-server
GHSA-vprv-35vv-q339
NATS has pre-auth server panic via leafnode handling
High Also affects github.com/nats-io/nats-server
GHSA-jxxm-27vp-c3m5
NATS allows MQTT clients to bypass ACL checks
Medium Also affects github.com/nats-io/nats-server
GHSA-v722-jcv5-w7mc
NATS has MQTT plaintext password disclosure
High Also affects github.com/nats-io/nats-server
Is this in your code?

MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.

Check your repos with MergeHarbor