CVE-2026-0847 Path Traversal in nltk/nltk
Attackers can read arbitrary files on the server via path traversal in NLTK CorpusReader classes, exposing sensitive data like keys and tokens.
- 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-0847?
CVE-2026-0847 is a high-severity path traversal vulnerability in nltk/nltk, published on 4 Mar 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
A vulnerability in NLTK versions up to and including 3.9.2 allows arbitrary file read via path traversal in multiple CorpusReader classes, including WordListCorpusReader, TaggedCorpusReader, and BracketParseCorpusReader. These classes fail to properly sanitize or validate file paths, enabling attackers to traverse directories and access sensitive files on the server. This issue is particularly critical in scenarios where user-controlled file inputs are processed, such as in machine learning APIs, chatbots, or NLP pipelines. Exploitation of this vulnerability can lead to unauthorized access to sensitive files, including system files, SSH private keys, and API tokens, and may potentially escalate to remote code execution when combined with other vulnerabilities.
Weakness: CWE-22
Which versions are affected by CVE-2026-0847?
3 open source packages ship an affected version, including nltk. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
nltk PyPI | All versions to 3.9.2 | None |
nltk PyPI | All versions to 3.9.2 | None |
nltk PyPI | All versions | 3.9.3 |
Linux distribution packages (1)
python-nltk openSUSE:Tumbleweed | All versions | 3.9.3-1.1 |
Products include Nltk Nltk.
How do I fix CVE-2026-0847?
Upgrade nltk to 3.9.3 or later.
Upgrade, and resolve every user-supplied path against an allowed base folder before opening it. More about Path traversal.
Is CVE-2026-0847 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-0847 exists.
Public exploit code: 1 proofs of concept on GitHub.
Other vulnerabilities in nltk/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-0847, ECHO-e33c-86f9-2eb1, GHSA-68j8-pq59-fqgm, MGASA-2026-0057, PYSEC-2026-98, openSUSE-SU-2026:10304-1.