CVE-2026-53522 Nezha Monitoring: Unbounded WebSocket Streams — Resource Exhaustion DoS
Attackers can exhaust server resources by creating unlimited WebSocket streams via unbounded endpoints, causing denial of service.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-53522?
CVE-2026-53522 is a medium-severity denial of service vulnerability in nezhahq nezha, published on 12 Jun 2026. Any signed-in user can exploit it over the network, with no action from the victim.
Official description
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.
Weakness: CWE-770
Which versions are affected by CVE-2026-53522?
3 open source packages ship an affected version, including github.com/nezhahq/nezha.
| Package | Affected | Fixed in |
|---|---|---|
github.com/nezhahq/nezha Go | From 1.0.0 | None |
github.com/nezhahq/nezha Go | From 1.0.0 | 2.2.0 |
github.com/nezhahq/nezha Go | From 1.0.0 | 2.2.0 |
How do I fix CVE-2026-53522?
Upgrade github.com/nezhahq/nezha to 2.2.0 or later.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2026-53522 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-53522 exists.
Sources
Also known as GHSA-jg62-j5h6-8mpq, GO-2026-5831.