CVE-2025-71408
NLTK < 3.9.3 Eval Injection via collocations.py Command-Line Arguments
Description
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.
INFO
Published Date :
July 24, 2026, 10:16 p.m.
Last Modified :
Oct. 8, 2026, 4:16 p.m.
Remotely Exploit :
No
Source :
[email protected]
CVSS Scores
| Score | Version | Severity | Vector | Exploitability Score | Impact Score | Source |
|---|---|---|---|---|---|---|
| CVSS | 134c704f-9b21-4f2e-91b3-4a467353bcc0 | |||||
| CVSS 3.1 | HIGH | 83251b91-4cc7-4094-a5c7-464a1b83ea10 | ||||
| CVSS 3.1 | HIGH | [email protected] | ||||
| CVSS 3.1 | HIGH | MITRE-CVE | ||||
| CVSS 4.0 | HIGH | 83251b91-4cc7-4094-a5c7-464a1b83ea10 | ||||
| CVSS 4.0 | HIGH | [email protected] |
Solution
- Update NLTK to version 3.9.3 or later.
- Avoid running collocations.py directly with untrusted arguments.
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2025-71408.
| URL | Resource |
|---|---|
| https://aydinnyunus.github.io/2026/06/07/command-injection-nltk-collocations-eval/ | Exploit Press/Media Coverage Third Party Advisory |
| https://github.com/nltk/nltk/commit/66f14096d952ec8f04934f515e027534bd4eb0ac | Patch |
| https://github.com/nltk/nltk/pull/3465 | Issue Tracking Patch |
| https://github.com/nltk/nltk/releases/tag/3.9.3 | Release Notes |
| https://www.vulncheck.com/advisories/nltk-eval-injection-via-collocations-py-command-line-arguments | Patch Third Party Advisory |
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2025-71408 is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2025-71408
weaknesses.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2025-71408 vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2025-71408 vulnerability over time.
Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.
-
CVE Modified by [email protected]
Oct. 08, 2026
Action Type Old Value New Value Added Affected Affected value modified. <a href="https://github.com/CVEProject/cvelistV5/blob/main/cves/2025/71xxx/CVE-2025-71408.json">CVE-2025-71408</a> Added Reference https://aydinnyunus.github.io/2026/06/07/command-injection-nltk-collocations-eval/ Added Reference https://github.com/nltk/nltk/commit/66f14096d952ec8f04934f515e027534bd4eb0ac Added Reference https://github.com/nltk/nltk/pull/3465 Added Reference https://github.com/nltk/nltk/releases/tag/3.9.3 Added Reference https://www.vulncheck.com/advisories/nltk-eval-injection-via-collocations-py-command-line-arguments Removed Reference https://aydinnyunus.github.io/2026/06/07/command-injection-nltk-collocations-eval/ Removed Reference https://github.com/nltk/nltk/commit/66f14096d952ec8f04934f515e027534bd4eb0ac Removed Reference https://github.com/nltk/nltk/pull/3465 Removed Reference https://github.com/nltk/nltk/releases/tag/3.9.3 Removed Reference https://www.vulncheck.com/advisories/nltk-eval-injection-via-collocations-py-command-line-arguments Removed Reference Type https://aydinnyunus.github.io/2026/06/07/command-injection-nltk-collocations-eval/ Types: Exploit, Press/Media Coverage, Third Party Advisory Removed Reference Type https://github.com/nltk/nltk/commit/66f14096d952ec8f04934f515e027534bd4eb0ac Types: Patch Removed Reference Type https://github.com/nltk/nltk/pull/3465 Types: Issue Tracking, Patch Removed Reference Type https://github.com/nltk/nltk/releases/tag/3.9.3 Types: Release Notes Removed Reference Type https://www.vulncheck.com/advisories/nltk-eval-injection-via-collocations-py-command-line-arguments Types: Patch, Third Party Advisory -
CVE Translated by [email protected]
Sep. 29, 2026
Action Type Old Value New Value Added Translation Title: NLTK (Natural Language Toolkit), Description: NLTK (Natural Language Toolkit) antes de la versión 3.9.3 contiene una vulnerabilidad de inyección de eval en el módulo nltk.collocations que permite a un atacante que controla los argumentos de línea de comandos ejecutar código Python arbitrario. Cuando se invoca directamente collocations.py, el bloque __main__ pasa los argumentos de línea de comandos directamente a eval() como sufijos de BigramAssocMeasures sin validación de lista de permitidos ni saneamiento, lo que permite a un atacante suministrar una expresión Python que evade la búsqueda de atributo prevista y ejecuta código arbitrario, incluyendo comandos del sistema operativo a través del módulo os. -
Initial Analysis by [email protected]
Aug. 10, 2026
Action Type Old Value New Value Added CPE Configuration OR *cpe:2.3:a:nltk:nltk:*:*:*:*:*:*:*:* versions up to (excluding) 3.9.3 Added Reference Type VulnCheck: https://aydinnyunus.github.io/2026/06/07/command-injection-nltk-collocations-eval/ Types: Exploit, Press/Media Coverage, Third Party Advisory Added Reference Type VulnCheck: https://github.com/nltk/nltk/commit/66f14096d952ec8f04934f515e027534bd4eb0ac Types: Patch Added Reference Type VulnCheck: https://github.com/nltk/nltk/pull/3465 Types: Issue Tracking, Patch Added Reference Type VulnCheck: https://github.com/nltk/nltk/releases/tag/3.9.3 Types: Release Notes Added Reference Type VulnCheck: https://www.vulncheck.com/advisories/nltk-eval-injection-via-collocations-py-command-line-arguments Types: Patch, Third Party Advisory -
CVE Modified by 134c704f-9b21-4f2e-91b3-4a467353bcc0
Jul. 27, 2026
Action Type Old Value New Value Added SSVC {'id': 'CVE-2025-71408', 'role': 'CISA Coordinator', 'options': [{'exploitation': 'poc'}, {'automatable': 'no'}, {'technicalImpact': 'total'}], 'version': '2.0.3', 'timestamp': '2026-07-27T17:22:32.579274Z'} -
New CVE Received by [email protected]
Jul. 24, 2026
Action Type Old Value New Value Added Affected [{'repo': 'https://github.com/nltk/nltk', 'vendor': 'ntlk', 'product': 'ntlk', 'versions': [{'status': 'affected', 'version': '0', 'lessThan': '3.9.3', 'versionType': 'semver'}], 'packageURL': 'pkg:github/nltk/nltk', 'defaultStatus': 'affected'}] Added Description 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. Added CVSS V4.0 AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X Added CVSS V3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H Added CWE CWE-95 Added Reference https://aydinnyunus.github.io/2026/06/07/command-injection-nltk-collocations-eval/ Added Reference https://github.com/nltk/nltk/commit/66f14096d952ec8f04934f515e027534bd4eb0ac Added Reference https://github.com/nltk/nltk/pull/3465 Added Reference https://github.com/nltk/nltk/releases/tag/3.9.3 Added Reference https://www.vulncheck.com/advisories/nltk-eval-injection-via-collocations-py-command-line-arguments