CVE-2026-62383: NLTK: Symlink-based arbitrary file read in IPIPANCorpusReader, bypasses nltk.pathsec entirely
IPIPANCorpusReader (nltk/corpus/reader/ipipan.py) exposes public methods, channels(), domains(), categories(), and fileids(channels=...), that accept a caller supplied fileids list and read a file via a completely unprotected builtin open() call, with no nltk.pathsec involvement at all. A symlink placed inside the corpus root, with a name containing no separators or .., passes NLTK’s existing traversal checks and is opened directly, reading a file from anywhere on the filesystem the process can access.
References
- github.com/advisories/GHSA-3hhw-38pf-pxj6
- github.com/nltk/nltk/commit/ee1a42e51982c4dce6ad3ee77ff1ac43894288ab
- github.com/nltk/nltk/pull/3727
- github.com/nltk/nltk/releases/tag/v3.10.2
- github.com/nltk/nltk/security/advisories/GHSA-3hhw-38pf-pxj6
- github.com/pypa/advisory-database/tree/main/vulns/nltk/PYSEC-2026-3726.yaml
- nvd.nist.gov/vuln/detail/CVE-2026-62383
- www.vulncheck.com/advisories/nltk-ipipancorpusreader-symlink-arbitrary-file-read
Code Behaviors & Features
Detect and mitigate CVE-2026-62383 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →