CVE-2026-63312 NLTK StreamBackedCorpusView Bypasses pathsec.ENFORCE Arbitrary File Read
Attackers can read arbitrary local files by bypassing path security checks in NLTK's StreamBackedCorpusView, exposing sensitive system data.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-63312?
CVE-2026-63312 is a high-severity path traversal vulnerability in nltk, published on 22 Aug 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
NLTK before 3.10.0 contains an arbitrary local file read vulnerability in StreamBackedCorpusView that bypasses pathsec.ENFORCE by calling builtins.open() directly instead of pathsec.open(). Attackers who control the fileid argument can read arbitrary local files regardless of the ENFORCE setting, including sensitive system files and application credentials.
Weakness: CWE-22
Which versions are affected by CVE-2026-63312?
3 open source packages ship an affected version, including nltk. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
nltk PyPI | All versions | 3.10.0 |
nltk PyPI | All versions | 3.10.0 |
nltk PyPI | All versions | 3.10.0 |
Products include Nltk Nltk.
How do I fix CVE-2026-63312?
Upgrade nltk to 3.10.0 or later.
Upgrade, and resolve every user-supplied path against an allowed base folder before opening it. More about Path traversal.
Is CVE-2026-63312 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-63312 exists.
Other vulnerabilities in nltk
- CVE-2026-0848 Arbitrary Code Execution in NLTK StanfordSegmenter via Untrusted JAR Loading
- CVE-2025-14009 Zip Slip Vulnerability in nltk/nltk Leading to Remote Code Execution
- CVE-2026-78683 NLTK before 3.10.0 Remote Code Execution via Unsafe Pickle Deserialization
- CVE-2026-79657 NLTK before 3.10.3 Remote Code Execution via Unsafe Pickle Deserialization
- CVE-2026-79675 NLTK before 3.10.3 JVM Argument Injection via Per-Call Options
Sources
Also known as DEBIAN-CVE-2026-63312, ECHO-f69e-0d7e-acbd, GHSA-x5ph-mj9p-rfr8, MINI-h54p-557f-pqc6, PYSEC-2026-3730, UBUNTU-CVE-2026-63312.