Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Network-reachable low-complexity overflow crashing the broker gives A:H with no C/I; PR:L reflects access to the monitoring interface, and the panic stays within one security authority so S:U.
Primary rating from Vendor (vendor:ubuntu).
CVSS VectorNVD
Lifecycle Timeline
9DescriptionNVD
[Unknown description]
AnalysisAI
Denial of service in NATS Server (nats-io/nats-server) affects the HTTP monitoring endpoints /connz and /subsz, where attacker-controlled offset and limit pagination parameters trigger a signed integer overflow (Offset+Limit wrapping from math.MaxInt64 to math.MinInt64), producing invalid slice bounds and a server panic. Any client able to reach the monitoring interface can crash the broker, disrupting all connected messaging clients. There is no public exploit identified at time of analysis and the issue is not in CISA KEV; the upstream fix clamps offsets using min/max bounds.
Technical ContextAI
NATS Server is a high-performance, CNCF-hosted messaging system written in Go that exposes an optional HTTP monitoring interface. The flaw is a CWE-190 Integer Overflow in server/monitor.go inside the Connz() and Subsz() pagination logic: the code computed maxoff := Offset + Limit before bounds-checking, so with Offset near math.MaxInt64 the addition overflows into a negative value (math.MinInt64). The negative/out-of-range result then feeds slice indexing over the client/subscription arrays, causing a runtime panic. The patched code replaces the naive addition with saturating arithmetic (minoff := min(max(Offset,0), maxIndex); maxoff := minoff + min(Limit, maxIndex-minoff)), which is confirmed by the fix commits and the added regression tests TestMonitorConnzOffsetOverflow and TestMonitorSubszOffsetOverflow.
RemediationAI
Upgrade to a fixed release: Vendor-released patch v2.12.12 (2.12.x line) or v2.14.3 (2.14.x line), available at https://github.com/nats-io/nats-server/releases/tag/v2.12.12 and https://github.com/nats-io/nats-server/releases/tag/v2.14.3; review GHSA-q59r-vq66-pxc2 for the full advisory. If immediate patching is not possible, restrict or disable the HTTP monitoring interface: bind the monitoring port (default 8222 HTTP / 8443 HTTPS) to localhost only, place it behind a firewall or reverse proxy that rejects unauthenticated access, and block external reachability to /connz and /subsz - the trade-off is loss of remote observability and any dashboards or scrapers that poll those endpoints. Where monitoring must stay enabled, front it with a proxy that validates/clamps the offset and limit query parameters to sane ranges.
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
Remote denial of service in the NATS Server (nats-io/nats-server) leafnode subsystem allows unauthenticated attackers to
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
Same weakness CWE-190 – Integer Overflow or Wraparound
View allSame technique Information Disclosure
View allVendor StatusVendor
Share
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-42389