Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Single unauthenticated pre-CONNECT packet to a network leafnode port crashes the process, so AV:N/AC:L/PR:N/UI:N with availability-only impact (A:H, C/I:N).
Primary rating from Vendor (vendor:ubuntu).
CVSS VectorVendor: vendor:ubuntu
Lifecycle Timeline
7DescriptionCVE.org
[Unknown description]
AnalysisAI
Remote denial of service in the NATS Server (nats-io/nats-server) leafnode subsystem allows unauthenticated attackers to crash the entire server by sending a second INFO protocol message before CONNECT on the leafnode port, triggering a nil-pointer dereference (c.acc == nil) that panics the process. All server instances exposing a leafnode listener prior to v2.11.17 (2.11.x) and v2.12.8 (2.12.x) are affected. No public exploit has been identified, but the vendor's own regression test (TestLeafNodeSecondInfoBeforeConnectDoesNotPanic) demonstrates the exact crash payload, and the CVSS availability-only vector (7.5) reflects a single-packet, no-auth crash.
Technical ContextAI
NATS is a high-performance CNCF messaging system written in Go; 'leafnodes' are a topology feature that let a remote NATS server or client bridge into a hub cluster's account space over a dedicated leafnode listener. The flaw is CWE-476 (NULL Pointer Dereference) in server/leafnode.go: during the leafnode handshake, the connection's account pointer (c.acc) is only bound after the CONNECT phase, but the code paths processLeafnodeInfo() and leafNodeFinishConnectProcess() dereferenced c.acc (and 'remote') without checking for nil. An attacker who sends a second INFO frame (e.g. with a remote_account or connect_info field) after the initial compression-negotiation INFO but before CONNECT reaches these paths while c.acc is still nil, and the resulting dereference panics the Go process. The fix adds explicit nil guards that instead reply 'Authorization Violation' and cleanly close the connection with ProtocolViolation, keeping the server alive.
RemediationAI
Upgrade NATS Server to a patched release: v2.11.17 if you run the 2.11.x line or v2.12.8 if you run 2.12.x, per releases https://github.com/nats-io/nats-server/releases/tag/v2.11.17 and https://github.com/nats-io/nats-server/releases/tag/v2.12.8 and advisory https://github.com/nats-io/nats-server/security/advisories/GHSA-3g5q-cfh2-cq67 (fix commits 8dcb26eaea78fdcbe96dbee5986d6019fd5cb94a and fc5fe39177533e9dbdd651d2458285bfae1dde27). If you cannot patch immediately, restrict the leafnode listener: bind it to a trusted management interface rather than 0.0.0.0, place it behind a firewall or security group that only permits known leafnode peers, or require TLS client certificates on the leafnode port so unknown TCP peers cannot reach the vulnerable pre-CONNECT handshake; the trade-off is that any legitimate leafnode peer whose source IP or certificate is not allow-listed will lose connectivity, and if you do not actually use leafnodes, disable the leafnode block entirely to remove the exposure with no functional loss.
More in Nats Server
View allNATS Server 2.x before 2.2.0 and JWT library before 2.0.1 have Incorrect Access Control because Import Token bindings ar
The JWT library in NATS nats-server before 2.1.9 has Incorrect Access Control because of how expired credentials are han
This affects all versions of package github.com/nats-io/nats-server/server. Rated high severity (CVSS 7.5), this vulnera
NATS nats-server before 2.7.2 has Incorrect Access Control. Rated high severity (CVSS 8.8), this vulnerability is remote
Authentication bypass in NATS Server (nats-io/nats-server) lets an unauthenticated attacker on an adjacent network conne
Denial of service in NATS Server (nats-server) MQTT handler allows a remote, unauthenticated client to exhaust server me
An integer overflow in NATS Server before 2.0.2 allows a remote attacker to crash the server by sending a crafted reques
Remote denial-of-service in NATS Server (nats-server) affects deployments with the WebSocket listener enabled but MQTT d
NATS.io is a high performance open source pub-sub distributed communication technology, built for the cloud, on-premise,
The JWT library in NATS nats-server before 2.1.9 allows a denial of service (a nil dereference in Go code). Rated high s
Protocol injection in NATS Server MQTT support allows an authenticated MQTT client to smuggle control characters (tab, n
NATS nats-server before 2.7.4 allows Directory Traversal (with write access) via an element in a ZIP archive for JetStre
Same weakness CWE-476 – NULL Pointer Dereference
View allSame technique Denial Of Service
View allVendor StatusVendor
SUSE
Severity: ImportantShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-42380