Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconDiscover exposed Nezha dashboard
-
DeliverySend GET /dashboard../data/config.yaml
-
ExploitBypass HasPrefix and TrimPrefix
-
Installpath.Join normalizes to data/config.yaml
-
C2http.ServeFile returns YAML secrets
-
ExecuteAuthenticate with leaked admin/agent secret
-
ImpactPivot to monitored hosts via task execution
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK
2 techniques across 2 tactics: Discovery, Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | No special conditions - remote unauthenticated exploitation against default configurations of the Nezha Monitoring dashboard, reachable on whatever port/host the operator exposes (typically the dashboard HTTP listener). The only limiting factors are network reachability of the /dashboard route and that the targeted instance runs a version earlier than 2.0.13; no user interaction, no prior credentials, and no non-default settings are required, because the vulnerable fallbackToFrontend handler is part of the standard NoRoute pipeline. |
| Impact | The signals are mostly aligned toward high real-world risk: the published CVSS3.1 vector AV:N/AC:L/PR:N/UI:N marks the bug as remotely exploitable, unauthenticated, and low-complexity, and the description confirms no authentication is required and provides a working payload. However, the input vector lists I:H, which is questionable: http.ServeFile only reads files, so direct integrity impact is N - the realistic integrity/availability damage is secondary, by exfiltrating data/config.yaml (which on Nezha typically holds DB credentials, OAuth secrets, and the admin agent secret) and then pivoting. No EPSS, KEV, or POC indicators were supplied; absence is not confirmation, but at the time of analysis there is no evidence of in-the-wild exploitation. Net assessment: prioritize patching because exposed Nezha dashboards are commonly internet-facing and the config-file disclosure path is a one-request compromise of every downstream secret. |
| Exploit ScenarioDerived | An attacker scans the internet for Nezha dashboards on common ports (8008, 80, 443) and issues a single unauthenticated GET request such as GET /dashboard../data/config.yaml HTTP/1.1, receiving the raw YAML containing the admin and agent secrets and database credentials. With those secrets the attacker then authenticates to the dashboard, registers as a controller of every monitored host, and uses Nezha's task-execution feature to run commands across the fleet. The exploitation primitive is described in full in the advisory, so trivially weaponizable proof-of-concept code is expected even though none was supplied in this dataset. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 12, 2026
Unauthenticated path traversal in Nezha Monitoring (nezhahq/nezha) before 2.0.13 allows remote attackers to read arbitrary files from the dashboard host by abusing the NoRoute fallbackToFrontend handler. The handler matches the /dashboard prefix with strings.HasPrefix rather than a path-segment comparison, so a request like /dashboard../data/config.yaml is normalized by path.Join into the application's data directory and served by http.ServeFile. No public exploit identified at time of analysis, but the bypass is trivially reproducible from the disclosed root-cause writeup.
RemediationAI
Vendor-released patch: upgrade to Nezha 2.0.13 or later, which replaces the strings.HasPrefix check with a path-segment match; see the upstream advisory at https://github.com/nezhahq/nezha/security/advisories/GHSA-5c25-7vpj-9mqh for the fix commit. If immediate upgrade is not possible, place the dashboard behind a reverse proxy (nginx, Caddy, Traefik) that normalizes URLs and rejects any request whose decoded path contains '..' or matches the regex ^/dashboard[^/], and restrict dashboard exposure to a VPN or trusted IP allowlist; note that URL-normalizing proxies can also break legitimate frontend asset URLs that contain encoded characters, so test the dashboard after deploying such rules. After patching, rotate every secret stored in data/config.yaml (database password, OAuth client secrets, agent shared secret, JWT signing key) under the assumption the file may have been read.
Affected VersionsENISA
Affected Packages
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 is a self-hosted Go-based server and website monitoring/O&M platform whose dashboard embeds a frontend bundle under the admin-dist directory and falls back to serving frontend assets for any unmatched route beginning with /dashboard. The flaw is a textbook CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) caused by treating URL prefixes as opaque strings: strings.HasPrefix(url, "/dashboard") returns true for /dashboard../..., strings.TrimPrefix leaves ../data/config.yaml, and Go's path.Join collapses the traversal so http.ServeFile happily returns files outside admin-dist. The proper fix, shipped in 2.0.13, requires checking that /dashboard is a full path segment (e.g., comparing segments after splitting on '/') rather than a literal byte prefix.
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
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
Remotely reachable HTTP endpoint, no auth or interaction (AV:N/AC:L/PR:N/UI:N); http.ServeFile is read-only so C:H but I:N/A:N for direct impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Nezha Monitoring is a self-hostable, lightweight, servers and websites monitoring and O&M tool. Prior to version 2.0.13, fallbackToFrontend in the dashboard's NoRoute handler treats any URL whose raw string starts with /dashboard as an admin-frontend asset request. The check uses strings.HasPrefix, not a path-segment match, so the input /dashboard../data/config.yaml is accepted; strings.TrimPrefix leaves ../data/config.yaml; and path.Join("admin-dist", "../data/config.yaml") normalizes to data/config.yaml - which os.Stat finds and http.ServeFile returns. No authentication required. This issue has been patched in version 2.0.13.
Executive ViewAI
Nezha Monitoring versions before 2.0.13 contain a critical unauthenticated path traversal vulnerability allowing attackers to access sensitive configuration files, API credentials, and operational secrets from the dashboard host. The vulnerability requires no authentication and is trivially reproducible from disclosed technical details, creating immediate risk across all affected deployments. No vendor patch is currently available, making interim security controls essential to protect organizational infrastructure monitoring systems.
No vendor-released patch identified at time of analysis. Interim mitigations include: (1) network segmentation-restrict Nezha dashboard access to authorized administrator IPs only via firewall; (2) WAF rules blocking ../ path traversal sequences in requests to /dashboard; (3) disable Nezha dashboard if operationally feasible; (4) continuous monitoring and alerting for unusual requests to dashboard endpoints.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
Host header injection in Nezha 2.2.3's OAuth2 redirect endpoint (/api/v1/oauth2/{provider}) allows an unauthenticated re
Host header injection in Nezha Monitoring versions 1.0.0 through 2.2.0 allows unauthenticated remote attackers to redire
Unbounded WebSocket stream allocation in Nezha Monitoring versions 1.0.0 through 2.1.x allows any authenticated dashboar
Nezha Monitoring versions 2.0.14 through 2.1.0 (exclusive) allows any authenticated user to exploit the NAT-based Host c
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
Nezha monitoring dashboards running versions 1.0.0 through 2.3.14 can be knocked offline by an authenticated user who ho
Resource exhaustion in Nezha 2.0.13 through 2.3.14 allows an authenticated user to open unbounded concurrent connections
Cleartext third-party credentials are exposed to any authenticated principal holding DDNS read access in Nezha versions
Permanent deadlock of the alerting subsystem in Nezha Dashboard 1.8.0 through 2.3.12 allows any authenticated non-admin
Authenticated privilege escalation in Nezha Dashboard before 2.3.5 lets any account holding the nezha:service:write scop
Denial of service in the Nezha monitoring dashboard before 2.3.8 lets any authenticated non-administrator account crash
Nezha Monitoring versions prior to 2.2.5 expose stored third-party API credentials in plaintext through two listing API
Same weakness CWE-22 – Path Traversal
View allSame technique Path Traversal
View allVendor StatusVendor
SUSE
Severity: Critical| 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 |
| openSUSE Leap 15.6 | Affected |
EUVD-2026-36598
GHSA-5c25-7vpj-9mqh
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB