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. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →