CVE-2025-71408
CVE-2025-71408 · NLTK < 3.9.3 Eval Injection via collocations.py Command-Line Arguments
This page contains facts from public vulnerability sources. Check the original advisory before updating.
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.
CVSS 8.5 · High · EPSS 0.3% · Fix available
- Published
- Updated
Affected products and versions
ntlk
- Versions
- ≥ 0, < 3.9.3: Affected (semver)
Update to 3.9.3
nltk Debian:12
- Versions
- 3.10.0-1
- 3.10.1-1
- 3.10.3-1
- 3.8-1
- 3.8.1-1
- 3.9.1-1
- 3.9.1-2
- 3.9.2-1
- 3.9.3-1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
nltk Debian:13
- Versions
- 3.10.0-1
- 3.10.1-1
- 3.10.3-1
- 3.9.1-2
- 3.9.2-1
- 3.9.3-1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
nltk Debian:14
- Versions
- 3.9.1-2
- 3.9.2-1
- Affected ranges
- ECOSYSTEM: < 3.9.3-1
Update to 3.9.3-1
nltk PyPI
- Versions
- 0.8
- 0.9
- 0.9.3
- 0.9.4
- 0.9.5
- 0.9.6
- 0.9.7
- 0.9.8
- 0.9.9
- 2.0.1
- 2.0.1rc1
- 2.0.1rc2-git
- 2.0.1rc3
- 2.0.1rc4
- 2.0.2
- 2.0.3
- 2.0.4
- 2.0.5
- 2.0b4
- 2.0b5
- 2.0b6
- 2.0b7
- 2.0b8
- 2.0b9
- 3.0.0
- 3.0.0b1
- 3.0.0b2
- 3.0.1
- 3.0.2
- 3.0.3
- 3.0.4
- 3.0.5
- 3.1
- 3.2
- 3.2.1
- 3.2.2
- 3.2.3
- 3.2.4
- 3.2.5
- 3.3
- 3.4
- 3.4.1
- 3.4.2
- 3.4.3
- 3.4.4
- 3.4.5
- 3.5
- 3.5b1
- 3.6
- 3.6.1
- 3.6.2
- 3.6.3
- 3.6.4
- 3.6.5
- 3.6.6
- 3.6.7
- 3.7
- 3.8
- 3.8.1
- 3.9
- 3.9.1
- 3.9.2
- 3.9b1
- Affected ranges
- ECOSYSTEM: < 3.9.3
Update to 3.9.3
nltk Ubuntu:Pro:14.04:LTS
- Versions
- 2.0~b9-0ubuntu4
- 2.0~b9-0ubuntu4.1~esm2
- 2.0~b9-0ubuntu4.1~esm4
- 2.0~b9-0ubuntu4.1~esm5
- 2.0~b9-0ubuntu4.1~esm6
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
nltk Ubuntu:Pro:16.04:LTS
- Versions
- 3.0.4-1
- 3.0.5-1
- 3.1-1
- 3.1-1ubuntu0.1
- 3.1-1ubuntu0.1+esm1
- 3.1-1ubuntu0.1+esm2
- 3.1-1ubuntu0.1+esm3
- 3.1-1ubuntu0.1+esm4
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
nltk Ubuntu:Pro:18.04:LTS
- Versions
- 3.2.4-1
- 3.2.5-1
- 3.2.5-1ubuntu0.1
- 3.2.5-1ubuntu0.1+esm1
- 3.2.5-1ubuntu0.1+esm2
- 3.2.5-1ubuntu0.1+esm3
- 3.2.5-1ubuntu0.1+esm4
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
nltk Ubuntu:Pro:20.04:LTS
- Versions
- 3.4.5-1
- 3.4.5-2
- 3.4.5-2ubuntu0.1~esm1
- 3.4.5-2ubuntu0.1~esm2
- 3.4.5-2ubuntu0.1~esm3
- 3.4.5-2ubuntu0.1~esm4
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
nltk Ubuntu:Pro:22.04:LTS
- Versions
- 3.5-1
- 3.6.5-1
- 3.6.7-1
- 3.7-1
- 3.7-1ubuntu0.1~esm1
- 3.7-1ubuntu0.1~esm2
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
nltk Ubuntu:Pro:24.04:LTS
- Versions
- 3.8.1-1
- 3.8.1-1ubuntu0.1~esm1
- 3.8.1-1ubuntu0.1~esm2
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
nltk Ubuntu:Pro:26.04:LTS
- Versions
- 3.9.1-2
- 3.9.1-2build1
- 3.9.2-1
- 3.9.2-1ubuntu0.1~esm1
- 3.9.2-1ubuntu0.1~esm2
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
Original sources
- https://aydinnyunus.github.io/2026/06/07/command-injection-nltk-collocations-eval/
- https://github.com/nltk/nltk/releases/tag/3.9.3
- https://github.com/nltk/nltk/pull/3465
- https://github.com/nltk/nltk/commit/66f14096d952ec8f04934f515e027534bd4eb0ac
- https://www.vulncheck.com/advisories/nltk-eval-injection-via-collocations-py-command-line-arguments
- https://nvd.nist.gov/vuln/detail/CVE-2025-71408