Impact
NLTK before version 3.9.3 does not verify the integrity of packages after download but before extraction. This omission allows an attacker who can perform a man‑in‑the‑middle or DNS poisoning attack to supply a malicious package, which will be extracted by the downloader module with no checks. The attacker can then execute arbitrary code in the context of the user running NLTK. This flaw is a classic integrity‑verification weakness (CWE‑494) and can lead to remote code execution, compromising confidentiality, integrity, and availability of the affected system.
Affected Systems
The vulnerability affects the NLTK library from Natural Language Toolkit before version 3.9.3. Any installation of NLTK that relies on the downloader module and pulls packages from the network is at risk; this includes Python environments that import nltk and use the download function.
Risk and Exploitability
The CVSS score of 9.3 indicates a high severity vulnerability. The EPSS score is not available, but the lack of post‑download verification means that exploitation is feasible as long as an attacker can influence the package download path. The flaw is not currently listed in the CISA KEV catalog, which suggests no known widespread active exploitation yet, but the typical attack vector is network‑based MITM or DNS spoofing targeting the downloader component. Systems that automatically download NLTK packages from external repositories without additional validation are particularly vulnerable.
OpenCVE Enrichment