{"id":"CVE-2026-86258","summary":"nbviewer through 1.0.1 Path Traversal via LocalFileHandler","details":"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.","modified":"2026-09-11T03:30:52.926653072Z","published":"2026-09-06T12:37:49.496Z","database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/86xxx/CVE-2026-86258.json","cna_assigner":"VulnCheck","cwe_ids":["CWE-22"]},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/86xxx/CVE-2026-86258.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-86258"},{"type":"ADVISORY","url":"https://www.vulncheck.com/advisories/nbviewer-through-1.0.1-path-traversal-via-localfilehandler"},{"type":"REPORT","url":"https://github.com/jupyter/nbviewer/issues/1115"},{"type":"FIX","url":"https://github.com/jupyter/nbviewer/commit/aad36106f72a1ca7721310c6fccc677ce4c744a5"},{"type":"PACKAGE","url":"https://github.com/jupyter/nbviewer"},{"type":"ARTICLE","url":"https://github.com/jupyter/nbviewer/blob/1.0.1/nbviewer/providers/local/handlers.py#L92-L107"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/jupyter/nbviewer","events":[{"introduced":"0"},{"fixed":"1d2f3707404b880b5bbf2bb31914be19820c68ba"},{"fixed":"aad36106f72a1ca7721310c6fccc677ce4c744a5"}],"database_specific":{"source":["DESCRIPTION","REFERENCES"],"extracted_events":[{"introduced":"0"},{"fixed":"1.0.1"}]}}],"versions":["1.0.1","1.0.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-86258.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"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"}]}