NLTK Downloader Zip Slip RCE (CVE-2025-14009)
CVE-2025-14009
Critical 10.0 CVSS vulnerability allows unauthenticated remote code execution via path traversal in NLTK downloader. Update immediately.
Patch now - CVE-2025-14009 is a critical remote code execution vulnerability in the Natural Language Toolkit (NLTK) downloader that grants attackers full system takeover by tricking applications into processing a malicious data package. Upgrade NLTK to the latest patched version immediately to prevent exploitation.
Overview
A critical security flaw has been identified in the Natural Language Toolkit (NLTK), a widely used Python library for working with human language data. The vulnerability resides in the component responsible for downloading and installing language models and datasets.
In simple terms, the flaw allows a malicious actor to create a specially crafted data package. If an application using NLTK is tricked into downloading and processing this package, the attacker can run any code they choose on the victim’s system. This occurs because the downloader does not properly check the contents of the downloaded files before extracting them.
Potential Impact
The severity of this vulnerability is extremely high. Successful exploitation can lead to a complete compromise of the affected system. The potential consequences include:
- Remote Code Execution (RCE): An attacker can execute arbitrary commands with the same permissions as the user running the Python application.
- System Takeover: This can lead to unauthorized access to sensitive files, installation of malware, or theft of data.
- Network Propagation: A compromised system could be used as a foothold to attack other machines on the same network.
- Persistence: Attackers could establish backdoors to maintain long-term access to the system.
Any application that uses the NLTK downloader functionality (e.g., nltk.download()) is potentially vulnerable.
Remediation and Mitigation
Immediate action is required to secure systems using NLTK.
Primary Remediation: The NLTK maintainers have released a patched version. Upgrade NLTK to the latest version immediately. This is the only complete solution. You can upgrade using pip:
pip install --upgrade nltk
Immediate Mitigations (if upgrade is not instantly possible):
- Avoid Untrusted Downloads: Do not use
nltk.download()to fetch packages from untrusted sources or locations. Configure the downloader to use only known, official repositories if possible. - Pre-download Packages: Manually download required NLTK data packages from the official source in a controlled environment, verify their integrity, and then distribute them to your application servers, bypassing the vulnerable downloader in production.
- Principle of Least Privilege: Run applications that use NLTK with the minimum necessary system permissions. Do not run them as a root or administrative user, as this limits the potential damage from code execution.
Summary
This is a critical vulnerability that requires prompt attention. The exploitation risk is significant due to the potential for full system control. The recommended and most secure course of action is to upgrade the NLTK library to its patched version without delay and review any automated processes that may invoke the NLTK downloader.
Never miss a critical vulnerability
Get real-time security alerts delivered to your preferred platform.
Am I Affected by CVE-2025-14009?
Pick an ecosystem, paste your installed version, and we'll compare it against the fixed version published on OSV.dev. Browser-only — nothing is sent to a server.
Heuristic comparison only. Always cross-check against the vendor advisory before making patching decisions.
Related Advisories
A vulnerability in the `filestring()` function of the `nltk.util` module in nltk version 3.9.2 allows arbitrary file read due to improper validation of input paths. The function directly opens files s...
A vulnerability in NLTK versions up to and including 3.9.2 allows arbitrary file read via path traversal in multiple CorpusReader classes, including WordListCorpusReader, TaggedCorpusReader, and Brack...
ai-scanner is an AI model safety scanner built on NVIDIA garak. From version 1.0.0 to before version 1.4.1, there is a remote code execution vulnerability via JavaScript injection in `BrowserAutomatio...
Postiz is an AI social media scheduling tool. Prior to commit da44801, a "Pwn Request" vulnerability in the Build and Publish PR Docker Image workflow (.github/workflows/pr-docker-build.yml) allows an...
Other Nltk Nltk Vulnerabilities
A vulnerability in the `filestring()` function of the `nltk.util` module in nltk version 3.9.2 allows arbitrary file read due to improper validation of input paths. The function directly opens files s...
A vulnerability in NLTK versions up to and including 3.9.2 allows arbitrary file read via path traversal in multiple CorpusReader classes, including WordListCorpusReader, TaggedCorpusReader, and Brack...