Impact
The vulnerability is a path traversal flaw in NLTK's data loading functions. Percent‑encoded traversal sequences such as ..%2f bypass the existing check and allow an attacker to read any file that the Python process can access. If an application passes a user‑controlled resource name to nltk.data.load() or nltk.data.find(), the attacker can read arbitrary files, exposing sensitive data.
Affected Systems
NLTK 3.9.4 is affected. Any software that imports NLTK to load resources, such as NLP web applications, Jupyter notebooks, and command‑line tools, is vulnerable if it relies on the default pathsec.ENFORCE setting of False. Other NLTK versions are not known to be impacted.
Risk and Exploitability
The CVSS score of 7.5 indicates high severity. EPSS data is not available, but the flaw is exploitable whenever the attacker can supply a resource name; this is typical for web services or local scripts that do not sanitize input. The vulnerability is not listed in the CISA KEV catalog. By default, pathsec.ENFORCE is False, allowing the open stage to succeed after bypassing the traversal check, increasing the likelihood of exploitation. The flaw allows reading of files but does not provide code execution or privilege escalation.
OpenCVE Enrichment