Skip to main content

Nezha Monitoring CVE-2026-53519

| EUVDEUVD-2026-36598 CRITICAL
Path Traversal (CWE-22)
2026-06-12 GitHub_M GHSA-5c25-7vpj-9mqh
9.1
CVSS 3.1 · Vendor: GitHub_M
Share

Severity by source

Vendor (GitHub_M) PRIMARY
9.1 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
vuln.today AI
7.5 HIGH

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.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

2
Patch available
Jun 12, 2026 - 23:01 EUVD
Analysis Generated
Jun 12, 2026 - 22:16 vuln.today

DescriptionCVE.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.

AnalysisAI

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.

Technical ContextAI

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.

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.

Vendor 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

Share

CVE-2026-53519 vulnerability details – vuln.today

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