NLTK vulnerable to Eval Injection via collocations CLI arguments
High severity
GitHub Reviewed
Published
Jul 25, 2026
to the GitHub Advisory Database
•
Updated Aug 12, 2026
Description
Published by the National Vulnerability Database
Jul 24, 2026
Published to the GitHub Advisory Database
Jul 25, 2026
Reviewed
Aug 12, 2026
Last updated
Aug 12, 2026
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