Skip to content

GHSA-55h8-8g96-x4hj BIT-nats-2026-33246 CVE-2026-33246 GO-2026-4830

NATS: Leafnode connections allow spoofing of Nats-Request-Info identity headers

Medium Go
Severity
6.4 / 10
Medium · CVSS 3.1
Exploit chance (EPSS)
0.15%
Chance of exploitation in the next 30 days. Higher than 4.04% of scored vulnerabilities.
Known exploited
No
Not in CISA's catalog
Weakness
CWE-287 Improper Authentication
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 allows hub/spoke topologies using "leafnode" connections by other nats-servers. NATS messages can have headers.

Problem Description

The nats-server offers a Nats-Request-Info: message header, providing information about a request. This is supposed to provide enough information to allow for account/user identification, such that NATS clients could make their own decisions on how to trust a message, provided that they trust the nats-server as a broker.

A leafnode connecting to a nats-server is not fully trusted unless the system account is bridged too. Thus identity claims should not have propagated unchecked.

Thus NATS clients relying upon the Nats-Request-Info: header could be spoofed.

Does not directly affect the nats-server itself, but the CVSS Confidentiality and Integrity scores are based upon what a hypothetical client might choose to do with this NATS 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-287: Improper Authentication

When an actor claims to have a given identity, the product does not prove or insufficiently proves that the claim is correct.

How to prevent it
  • Architecture and Design: Use an authentication framework or library such as the OWASP ESAPI Authentication feature.

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-pwx7-fx9r-hr4h
NATS Server: Incomplete Stripping of Nats-Request-Info Header Allows Identity Spoofing
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