Skip to main content
← All vulnerabilities
CVE-2026-53522GO-2026-5831GHSA-JG62-J5H6-8MPQ

Nezha Monitoring: Unbounded WebSocket Streams — Resource Exhaustion DoS

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 2.2.0
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: no
  • Technical impact: partial

Summary

Nezha Monitoring is a self-hostable, lightweight, servers and websites monitoring and O&M tool. From version 1.0.0 to before version 2.2.0, the Nezha dashboard exposes two endpoints that create long-lived WebSocket streams to monitored agents: POST /api/v1/terminal → createTerminal() (terminal.go:27-67) and POST /api/v1/file → createFM() (fm.go:28-67). Both call rpc.NezhaHandlerSingleton.CreateStream(streamId, ...) which inserts a new ioStreamContext into an unbounded map[string]*ioStreamContext (s.ioStreams in io_stream.go:59-67). There is no per-user rate limit, no global semaphore, and no per-server connection cap. This issue has been patched in version 2.2.0.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • nezhahq nezha

    From 1.0.0 · fixed in 2.2.0

  • github.com/nezhahq/nezhaGo

    From 1.0.0

  • github.com/nezhahq/nezhaGo

    From 1.0.0 · fixed in 2.2.0

References 1

GitHub · nezhahq/nezha