Skip to main content

Nezha CVE-2026-111384

| EUVDEUVD-2026-102565 HIGH
Allocation of Resources Without Limits or Throttling (CWE-770)
2026-10-16 VulnCheck GHSA-ggj9-3h4w-qv8p
7.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Authenticate with file-manager scope
  2. Delivery
    Open file WebSocket /api/v1/ws/file/:id
  3. Exploit
    Send one oversized binary message
  4. Execution
    Unbounded buffering exhausts memory
  5. Impact
    OOM kill drops all agent monitoring

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 an authenticated dashboard account that has been granted file-manager scope (PR:L), and the attacker must reach the dashboard's WebSocket endpoint /api/v1/ws/file/:id and send one oversized binary message that the unbounded fmStream reader buffers. The key limiting factors are: valid credentials are mandatory (not exploitable pre-auth), the account must specifically hold file-manager permissions, and the affected version must be between 1.0.0 and 2.3.15 (fixed in 2.3.15, which caps complete messages at 1 MiB). Impact is confined to availability - the dashboard process is OOM-killed, severing monitoring for all agents - with no data disclosure or modification.

Impact

This is a genuine but moderate-priority availability issue, not a critical emergency. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H) scoring 7.1 is internally consistent with the description: network-reachable, low complexity, but requiring low-level privileges (PR:L) - an authenticated account with file-manager scope - and impacting availability only (VA:H), with no confidentiality or integrity impact. The PR:L requirement is the single most important risk-limiter: an attacker must already hold a valid, file-manager-scoped account, so this is not internet-wide pre-auth DoS. No EPSS score was provided, there is no CISA KEV listing, and no public POC is referenced - so no public exploit identified at time of analysis. However, the vendor security advisory (GHSA-7242-982f-83p9) and a confirmed fix commit exist, and the root cause (missing gorilla/websocket SetReadLimit) is trivially understood and reproducible from the patch diff, meaning weaponization effort is very low once an attacker has credentials. There are no conflicting signals: the vector, description, and patch all agree this is an authenticated, network-triggered memory-exhaustion DoS. The realistic priority is elevated for multi-tenant or shared Nezha dashboards where lower-trust users hold file-manager scope, and lower for single-operator self-hosted instances where the only account holders are already trusted admins.

Exploit ScenarioDerived

An attacker holding a Nezha dashboard account with file-manager scope (for example, a low-trust team member on a shared instance) opens the file-manager WebSocket at /api/v1/ws/file/:id and sends a single oversized binary message. Because fmStream never sets a read limit, gorilla/websocket buffers the entire attacker-sized frame in memory, triggering an out-of-memory kill of the dashboard process and dropping monitoring for all connected agents. No public exploit code is identified, but the fix commit publicly reveals the exact root cause, making reproduction straightforward.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 16, 2026

Nezha monitoring dashboards running versions 1.0.0 through 2.3.14 can be knocked offline by an authenticated user who holds file-manager scope, because the dashboard's file manager WebSocket handler (fmStream) never imposes a read limit on incoming frames. A single oversized binary message sent to /api/v1/ws/file/:id is buffered whole by gorilla/websocket, exhausting process memory until the kernel OOM-killer terminates the dashboard - which in turn severs monitoring visibility for every agent the dashboard managed. There is no public exploit identified at time of analysis, but a vendor patch (2.3.15) and the upstream fixing commit are already public, so any dashboard exposed to users with file-manager permissions should be treated as a moderate-priority availability risk rather than a critical one; the attacked service is the dashboard itself, not the monitored endpoints.

RemediationAI

Upgrade Nezha to 2.3.15 or later; the vendor-released patch is available and the fixing commit (36b742a7e9a81ed782363dd19efd77b7030fbd0f) adds a 1 MiB SetReadLimit on the file manager WebSocket, matching the official client's own 1 MiB message protocol boundary so normal file-manager transfers continue to work. Apply the upgrade per the advisory at https://github.com/nezhahq/nezha/security/advisories/GHSA-7242-982f-83p9; if you build from source, cherry-pick the commit or reproduce its limitFileManagerWebSocketInput call in fmStream. If immediate upgrade is not possible, compensating controls include revoking file-manager scope from all but a small set of trusted administrator accounts (this directly removes the PR:L prerequisite and has no functional cost for users who do not use the file manager), and restricting network access to the dashboard and its /api/v1/ws/file/:id endpoint via a reverse proxy allow-list or authenticated VPN, which prevents unauthenticated and untrusted-network reachability but will also block legitimate remote operators. Keep the dashboard process under a supervisor with memory limits and aggressive restart, and ensure OOM-killed dashboard restarts are alerted on - this does not prevent the exhaustion but shortens the monitoring blackout. Run the dashboard as a non-privileged, memory-capped user/service so an OOM event is contained, and monitor WebSocket connections for anomalously large frames at the proxy layer where feasible.

Affected VersionsENISA

nezha 1.0.0 <2.3.15

Affected Packages

euvd nezha fix: 2.3.15

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

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

Technical ContextAI · show details

The flaw is an uncontrolled resource consumption condition (CWE-770) in Nezha's dashboard WebSocket relay for its file manager. Nezha is a Go-based, self-hosted server and agent monitoring platform; the dashboard controller exposes a Gin route /api/v1/ws/file/:id that upgrades the connection to a WebSocket using gorilla/websocket and relays IO between the browser-side file manager and the target agent. gorilla/websocket's connection object defaults to an unlimited read size unless SetReadLimit is called, so upstream fmStream accepted arbitrarily large binary frames and accumulated them in memory before the IO relay consumed them. The upstream fix introduces a fileManagerWebSocketInputLimit constant of 1 MiB - matching the protocol boundary the official file-manager client already respects when uploading in 1 MiB messages - and a websocketReadLimiter interface with a limitFileManagerWebSocketInput helper that calls SetReadLimit on the upgraded connection. The same commit also hardens adjacent areas (DDNS webhook credential redaction, MCP transfer URL host validation), indicating a general security-hardening pass. The vulnerability affects the CPE range cpe:2.3:a:nezhahq:nezha:*:*:*:*:*:*:*:* below version 2.3.15.

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 (VulnCheck) PRIMARY 7.1 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
vuln.today AI 6.5 MEDIUM

Network-reachable WebSocket with low complexity, but a file-manager-scoped account is required so PR:L; impact is availability-only (process OOM), so C:N/I:N/A:H and scope unchanged.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

Nezha 1.0.0 before 2.3.15 contains a memory exhaustion vulnerability in the dashboard file manager WebSocket endpoint because fmStream never calls SetReadLimit, leaving message size unbounded. Authenticated users with file manager scopes can send one oversized binary message to /api/v1/ws/file/:id, triggering an OOM kill that drops all agent monitoring.

Technical POC Analysis

CWE-770 (Allocation of Resources Without Limits or Throttling), in fmStream at cmd/dashboard/controller/fm.go (package github.com/nezhahq/nezha).

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

Nezha monitoring dashboards (versions 1.0.0 through 2.3.14) can be forced offline by a user with file-manager permissions, causing a complete loss of monitoring visibility for all managed agents. No public exploit identified at time of analysis, but a vendor patch (2.3.15) is available. This availability risk could blind security operations and delay detection of other incidents, so leadership should ensure rapid patching to maintain operational awareness.

Business Impact: Medium
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 79% exploitable
Prevalence
Low
self-hosted open-source monitoring dashboard, mostly hobbyist/small-ops footprint
Social Media
1
Sightings
Data Quality
4 sources
Confidence: Medium

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 HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
Medium

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
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-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-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

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-53522 MEDIUM POC
6.5 Jun 12

Unbounded WebSocket stream allocation in Nezha Monitoring versions 1.0.0 through 2.1.x allows any authenticated dashboar

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

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