CVE-2025-71408: NLTK vulnerable to Eval Injection via collocations CLI arguments
(updated )
NLTK (Natural Language Toolkit) before version 3.9.3 contains an eval injection vulnerability in the nltk.collocations module that allows an attacker who controls command-line arguments to execute arbitrary Python code. When collocations.py is invoked directly, the main block passes command-line arguments directly to eval() as suffixes of BigramAssocMeasures without allowlist validation or sanitization, enabling an attacker to supply a Python expression that escapes the intended attribute lookup and executes arbitrary code including OS commands via the os module.
References
- aydinnyunus.github.io/2026/06/07/command-injection-nltk-collocations-eval
- github.com/advisories/GHSA-848c-c2cx-j7qx
- github.com/nltk/nltk/commit/66f14096d952ec8f04934f515e027534bd4eb0ac
- github.com/nltk/nltk/pull/3465
- github.com/nltk/nltk/releases/tag/3.9.3
- github.com/pypa/advisory-database/tree/main/vulns/nltk/PYSEC-2026-3657.yaml
- nvd.nist.gov/vuln/detail/CVE-2025-71408
- www.vulncheck.com/advisories/nltk-eval-injection-via-collocations-py-command-line-arguments
Code Behaviors & Features
Detect and mitigate CVE-2025-71408 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 →