CVE-2026-12243
Path Traversal via Percent-Encoding in nltk.data.find() and nltk.data.load()
Description
NLTK version 3.9.4 is vulnerable to a path traversal attack due to an incomplete fix for GitHub Issue #3504. The `_UNSAFE_NO_PROTOCOL_RE` regex in `nltk/data.py` checks for literal `../` sequences but fails to account for percent-encoded traversal sequences such as `..%2f`. The `url2pathname()` function decodes these sequences after the validation step, allowing an attacker to bypass the protection. This vulnerability enables an attacker to read arbitrary files accessible to the Python process by controlling the resource name parameter passed to `nltk.data.load()` or `nltk.data.find()`. The issue affects applications that rely on NLTK for resource loading, including NLP web applications, Jupyter notebooks, and CLI tools. The default `pathsec.ENFORCE=False` setting exacerbates the impact by not blocking the file read at the `open()` stage.
INFO
Published Date :
June 30, 2026, 12:14 a.m.
Last Modified :
June 30, 2026, 12:14 a.m.
Remotely Exploit :
No
Source :
@huntr_ai
Affected Products
The following products are affected by CVE-2026-12243
vulnerability.
Even if cvefeed.io is aware of the exact versions of the
products
that
are
affected, the information is not represented in the table below.
No affected product recoded yet
Solution
- Update NLTK to the latest secure version.
- Ensure path traversal checks are robust.
- Review resource loading configurations.
- Consider enforcing pathsec.ENFORCE=True.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2026-12243 vulnerability anywhere in the article.