Impact
NLTK versions older than 3.10.0 contain a path traversal flaw in FramenetCorpusReader and NKJPCorpusReader that lets attackers supply unsafe selectors or poisoned index state. By feeding crafted arguments to methods such as frame_by_name, doc, lu, and header, the library will parse XML files located outside the designated corpus directory, enabling reading of any XML file the process can access. The vulnerability directly exposes sensitive configuration or data files, resulting in confidentiality loss.
Affected Systems
The flaw affects any installation of the nltk library with a version below 3.10.0 when the FrameNetCorpusReader or NKJPCorpusReader is used. Python applications, frameworks, or services that import nltk and load corpora through these readers are potentially exposed, regardless of the host operating system.
Risk and Exploitability
With a CVSS score of 8.2 the vulnerability is classified as high severity. The EPSS score is less than 1%, indicating that attacks are unlikely but not impossible. It is not listed in the CISA KEV catalog and no public exploits have been reported. The most probable attack surface is local execution where an attacker can manipulate the corpus input or index data supplied to the reader; based on the description, it is inferred that a remote attack would require the application to accept user‑controlled input that triggers the vulnerable code.
OpenCVE Enrichment
Github GHSA