ZeroHour

CVE-2026-86258

niche

Path Traversal File Disclosure in Jupyter nbviewer LocalFileHandler

CVSS 4.0
8.2 high
EPSS
<1%p30
Published
()
Modified
AI analysis

nbviewer through 1.0.1 contains a path traversal vulnerability (CWE-22) in LocalFileHandler.can_show(), which validates requested paths against the configured serving root using a plain string-prefix comparison instead of resolving and checking the canonical filesystem path. A remote, unauthenticated attacker can send HTTP requests whose paths merely begin with the root as a textual prefix - such as a sibling directory whose name shares that prefix - and the flawed check treats files there as inside the root. Successful exploitation discloses unintended notebooks and potentially credentials or configuration files stored in neighboring directories; the CVSS 4.0 score of 8.2 (High) reflects high confidentiality impact with no integrity or availability impact. Only deployments using nbviewer's local file handler are exposed, and the AT:P attack requirement means exploitation also depends on conditions such as sensitive files actually existing in predictable sibling locations. No public proof-of-concept, CISA KEV entry, or confirmed in-the-wild exploitation is known, and EPSS estimates roughly a 0.4% probability of exploitation within 30 days.

What to do: Upgrade nbviewer to a release newer than 1.0.1 when a patched version is published, as no fixed version is cited in the current advisory data. Until then, disable the local file handler if it is not needed, or reconfigure the served root so that no sensitive sibling directories share its path as a textual prefix, and review access logs for requests that returned files from outside the root. Verify exposure by attempting to fetch known files (such as configuration or credential files) from sibling directories via crafted paths.

Affected
Jupyter nbviewerthrough 1.0.1 (all versions up to and including 1.0.1; no fixed version provided in the advisory data)
Estimated exposure
nichelikely hundreds to low thousands of self-hosted instances (rough estimate; no public install or scan counts available) — nbviewer is a secondary Jupyter notebook-rendering web application typically self-hosted by teams and individuals, and only instances with the local file handler enabled are affected, so this order of magnitude reflects the tool's small,…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

nbviewer through 1.0.1 contains a path traversal vulnerability in LocalFileHandler.can_show() that uses string-prefix comparison instead of proper path validation. Attackers can read files from sibling directories outside the configured root by requesting paths that share the root as a textual prefix, disclosing unintended notebooks and credentials.

Weakness
CWE-22
Vector
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

In the news

No ingested article mentions this CVE yet.