Junglewise Threat Intelligence

CVE-2026-27889: NATS Server denial of service via WebSocket frame length overflow

CVE-2026-27889 · Severity: high · CVSS 7.5 · Published 2026-03-25

Technologies: github.com/nats-io/nats-server/v2 (Go), NATS.io NATS Server, github.com/nats-io/nats-server (Go), Red Hat Multicluster Global Hub. Vendors: Go, Red Hat.

Executive brief

NATS Server is a high-performance messaging system used for cloud and edge computing. A vulnerability in its WebSocket handling allows an unauthenticated attacker to crash the server remotely by sending a single malicious message. This results in a complete service outage, disconnecting all clients and disrupting operations that rely on the messaging infrastructure.

Technical details

A vulnerability exists in the NATS Server WebSocket implementation (wsRead in server/websocket.go) due to a missing sanity check on 64-bit extended payload lengths. The server fails to validate that the most significant bit (MSB) of the length field is zero as required by RFC 6455. When an attacker sends a frame with the MSB set, the uint64-to-int conversion results in a negative value that bypasses bounds clamping logic, eventually triggering an unrecovered slice bounds out-of-range panic in the Go runtime. This occurs before authentication, allowing any network-reachable attacker to terminate the nats-server process. The issue is fixed in versions 2.11.14 and 2.12.5.

Affected products

  • NATS.io NATS Server >= 2.2.0, < 2.11.14; >= 2.12.0, < 2.12.5
  • Red Hat Multicluster Global Hub 1.4.5, 1.5.4, 1.6.2

Timeline

  • 2026-03-09: patched: Internal fix date identified in advisory
  • 2026-03-25: disclosed: Public disclosure of CVE-2026-27889
  • 2026-05-28: advisory: Red Hat released security updates for Multicluster Global Hub

References

Related threats