CVE-2026-65915: NLTK: FileSystemPathPointer.open() sandbox check is dead code — arbitrary file read via file:// protocol
There’s a logic bug in FileSystemPathPointer.open() inside nltk/data.py
that makes the sandbox check permanently inert. The guard condition is always
False — meaning any file the process can read is accessible by passing a
file:// URL to nltk.data.load().
References
- github.com/advisories/GHSA-72r2-7mfr-5xr9
- github.com/nltk/nltk/commit/69db9911fdba914ceeaca7aec6e892d1b14586a9
- github.com/nltk/nltk/pull/3522
- github.com/nltk/nltk/security/advisories/GHSA-72r2-7mfr-5xr9
- github.com/pypa/advisory-database/tree/main/vulns/nltk/PYSEC-2026-3731.yaml
- huntr.com/bounties/a510de7b-ffaf-4a83-9bf8-fa7e63f4bd2d
- nvd.nist.gov/vuln/detail/CVE-2026-65915
- www.vulncheck.com/advisories/nltk-before-arbitrary-file-read-via-filesystempathpointer
Code Behaviors & Features
Detect and mitigate CVE-2026-65915 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →