Skip to main content

Nezha Monitoring EUVDEUVD-2026-36601

| CVE-2026-53522 MEDIUM
Allocation of Resources Without Limits or Throttling (CWE-770)
2026-06-12 GitHub_M GHSA-jg62-j5h6-8mpq
6.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain low-privilege dashboard credentials
  2. Delivery
    Send rapid POST requests to /api/v1/terminal or /api/v1/file
  3. Exploit
    Each request calls CreateStream() inserting a new ioStreamContext into unbounded global map
  4. Execution
    Heap memory grows without limit
  5. Persist
    Go runtime exhausts available memory
  6. Impact
    Nezha dashboard crashes and monitoring becomes unavailable

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource allocation limits
MITRE ATT&CK

1 technique across 1 tactic: Impact

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires a valid Nezha dashboard account at any privilege level (PR:L per CVSS vector) - no administrative role is needed. The attacker must have network access to the Nezha dashboard HTTP(S) service (AV:N). No special non-default configuration is required; the vulnerable endpoints POST /api/v1/terminal and POST /api/v1/file are standard core API routes present in all 1.0.0-2.1.x deployments. Exploitation is bounded by the following limiting factors: (1) unauthenticated users cannot reach the vulnerable handlers, so valid credentials are a hard prerequisite; (2) the speed of memory exhaustion depends on the host's available RAM - well-resourced servers tolerate more sustained abuse before crashing; and (3) streams require a WebSocket upgrade, so the attacker's connection setup overhead slightly slows the flood compared to a pure HTTP request flood.

Impact

The CVSS 3.1 score of 6.5 (Medium) with vector AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H is a fair representation of real-world risk. The low-complexity, network-accessible attack is offset by the PR:L requirement, meaning unauthenticated exploitation is not possible. No EPSS score was provided in the input; given the niche, self-hosted deployment model of Nezha and the authenticated access barrier, mass opportunistic exploitation appears unlikely. The absence of a CISA KEV listing and the absence of known public exploit code further support a non-emergency classification. However, for operators whose threat model includes malicious or compromised internal users - such as teams granting dashboard access to multiple personnel - the risk is meaningful: a single low-privilege account is sufficient to blind all monitoring visibility by crashing the dashboard. The impact being purely availability (C:N/I:N/A:H) limits lateral blast radius, but a downed monitoring dashboard can mask real incidents on monitored infrastructure. No conflicting signals exist between the CVSS vector and the description; the network vector and low-privilege requirement are consistent with the dashboard API architecture described.

Exploit ScenarioDerived

An attacker who has obtained a low-privilege Nezha dashboard account - whether via credential theft, a shared team account, or a compromised user - writes a simple loop that issues repeated POST requests to /api/v1/terminal or /api/v1/file. Each request registers a new ioStreamContext in the global unbounded map without triggering any server-side limit, causing heap allocation to grow continuously until the Go runtime crashes the dashboard process and monitoring visibility is lost for all operators.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jun 12, 2026

Unbounded WebSocket stream allocation in Nezha Monitoring versions 1.0.0 through 2.1.x allows any authenticated dashboard user to exhaust server memory and crash the monitoring service. The two affected endpoints - POST /api/v1/terminal and POST /api/v1/file - each insert a long-lived ioStreamContext into a global Go map with no per-user rate limit, no global semaphore, and no per-server connection cap, making repeated calls a trivial denial-of-service vector. No public exploit code has been identified at time of analysis, and the issue is not listed in CISA KEV; the vendor released a patch in version 2.2.0.

RemediationAI

Upgrade Nezha Monitoring to version 2.2.0 or later, which introduces the necessary resource controls on stream creation for both the terminal and file manager endpoints. Full details are available in the vendor security advisory at https://github.com/nezhahq/nezha/security/advisories/GHSA-jg62-j5h6-8mpq. If an immediate upgrade is not possible, restrict dashboard access to the minimum set of trusted user accounts - since PR:L authentication is the sole barrier to exploitation, reducing credential exposure directly constrains attack surface. A reverse-proxy rate-limiting rule targeting POST /api/v1/terminal and POST /api/v1/file (for example, a per-session request-per-minute cap via nginx limit_req or HAProxy stick-tables) can throttle stream creation volume; note that overly aggressive rate limits may interfere with legitimate operator terminal and file-management sessions. Monitoring Go process heap growth on the dashboard host (e.g., via /debug/pprof or external memory alerting) can serve as an early detection signal for exploitation attempts.

Affected VersionsENISA

nezha 1.0.0, < 2.2.0

Affected Packages

go github.com/nezhahq/nezha fix: 2.2.0
euvd nezha_1_0_0 fix: 2.2.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in go, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Nezha Monitoring is a self-hosted, Go-based server monitoring and operations tool (CPE: cpe:2.3:a:nezhahq:nezha). The root cause is CWE-770 (Allocation of Resources Without Limits or Throttling). Two dashboard API handlers - createTerminal() at terminal.go:27-67 and createFM() at fm.go:28-67 - both call rpc.NezhaHandlerSingleton.CreateStream(streamId, ...), which inserts a new ioStreamContext into the global map[string]*ioStreamContext stored in s.ioStreams (io_stream.go:59-67). Because this map is unbounded and the stream lifecycle has no enforcement mechanism - no request quota per user, no system-wide cap on concurrent streams, and no eviction or timeout for idle entries - any caller with dashboard access can inflate this map without constraint until the Go runtime runs out of heap space.

Know when Nezha gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 6.5 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
vuln.today AI 6.5 MEDIUM

Network-reachable dashboard API requires only low-privilege auth; no complexity or interaction needed; impact is exclusively availability with no scope change.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE MEDIUM

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

2
Patch available
Jun 12, 2026 - 23:01 EUVD
CVE Published
Jun 12, 2026 - 21:04 cve.org
MEDIUM 6.5

DescriptionCVE.org

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.

Threat Intelligence Overview

EPSS Score
0.0%
Top 88% exploitable
Threat Intel
1
1 source
Exploit
POC
Public exploit code exists
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA Vendor GitHub

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC Yes
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

52
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

More in Nezha

View all
CVE-2026-101090 CRITICAL POC
9.3 Sep 27

Host header injection in Nezha 2.2.3's OAuth2 redirect endpoint (/api/v1/oauth2/{provider}) allows an unauthenticated re

CVE-2026-53519 CRITICAL POC
9.1 Jun 12

Unauthenticated path traversal in Nezha Monitoring (nezhahq/nezha) before 2.0.13 allows remote attackers to read arbitra

CVE-2026-53523 MEDIUM POC
6.8 Jun 12

Host header injection in Nezha Monitoring versions 1.0.0 through 2.2.0 allows unauthenticated remote attackers to redire

CVE-2026-53520 MEDIUM POC
6.5 Jun 12

Nezha Monitoring versions 2.0.14 through 2.1.0 (exclusive) allows any authenticated user to exploit the NAT-based Host c

CVE-2026-62283 CRITICAL
9.9 Aug 21

Cross-tenant session hijacking in Nezha Monitoring (v1.14.13-1.14.14 and v2.0.0-2.0.9) lets any authenticated low-privil

CVE-2026-111384 HIGH
7.1 Oct 16

Nezha monitoring dashboards running versions 1.0.0 through 2.3.14 can be knocked offline by an authenticated user who ho

CVE-2026-111383 HIGH
7.1 Oct 16

Resource exhaustion in Nezha 2.0.13 through 2.3.14 allows an authenticated user to open unbounded concurrent connections

CVE-2026-111387 HIGH
7.1 Oct 16

Cleartext third-party credentials are exposed to any authenticated principal holding DDNS read access in Nezha versions

CVE-2026-105113 HIGH
7.1 Oct 03

Permanent deadlock of the alerting subsystem in Nezha Dashboard 1.8.0 through 2.3.12 allows any authenticated non-admin

CVE-2026-101086 HIGH
7.1 Sep 27

Authenticated privilege escalation in Nezha Dashboard before 2.3.5 lets any account holding the nezha:service:write scop

CVE-2026-101085 HIGH
7.1 Sep 27

Denial of service in the Nezha monitoring dashboard before 2.3.8 lets any authenticated non-administrator account crash

CVE-2026-59155 MEDIUM
6.9 Jul 10

Nezha Monitoring versions prior to 2.2.5 expose stored third-party API credentials in plaintext through two listing API

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Server 16.1 Affected
SUSE Linux Enterprise Server for SAP applications 16.1 Affected
SUSE Linux Enterprise Module for Package Hub 15 SP5 Affected
SUSE Linux Enterprise Module for Package Hub 15 SP6 Affected
openSUSE Leap 15.5 Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy