HIGH 7.5 GitHub
CVE-2026-12074
Natural Language Toolkit (NLTK) has path traversal in FramenetCorpusReader.frame() that allows arbitrary XML file read, bypassing the nltk.pathsec sandbox (ENFO
### Summary
`FramenetCorpusReader.frame(name)` interpolates a caller-supplied frame name into an XML file path that is read with the builtin `open()`, bypassing `CorpusReader.open()` and the `nltk.pathsec` sandbox — including strict `ENFORCE=True` mode. A `../` sequence in the name escapes the corpus root, yielding an arbitrary XML file read whose parsed content is returned to the caller.
### Details
`frame_by_name` builds the path by joining the corpus root, the frame directory, and the calle
Affected Products
- pip/nltk <= 3.9.4
References
- https://github.com/advisories/GHSA-xh95-f55m-82fw
- https://github.com/nltk/nltk/security/advisories/GHSA-xh95-f55m-82fw
- https://github.com/advisories/GHSA-xh95-f55m-82fw
This high severity vulnerability with a CVSS score of 7.5 was published on 2026-07-31 via GitHub. Affected: pip/nltk <= 3.9.4.
vulnfeed aggregates 9166 vulnerabilities from NVD, CISA KEV,
Ubuntu, Debian, Red Hat, Kubernetes, Exploit-DB, OSS-Security, GitHub and OpenStack — updated every 4 hours.