Zip Slip Vulnerability in nltk/nltk Leading to Remote Code Execution
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Partial Red Hat: 1 fixed, 2 without a fix
Attack profile from CVSS 3.0 · CNA. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-94.
Summary
A critical vulnerability exists in the NLTK downloader component of nltk/nltk, affecting all versions. The _unzip_iter function in nltk/downloader.py uses zipfile.extractall() without performing path validation or security checks. This allows attackers to craft malicious zip packages that, when downloaded and extracted by NLTK, can execute arbitrary code. The vulnerability arises because NLTK assumes all downloaded packages are trusted and extracts them without validation. If a malicious package contains Python files, such as __init__.py, these files are executed automatically upon import, leading to remote code execution. This issue can result in full system compromise, including file system access, network access, and potential persistence mechanisms.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- Yes
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| nltk | nltk/nltk | up to latest | — | No fix listed | CNA |
| — | nltk (PyPI) | before 3.9.3 | 3.9.3 | Patch available | GHSA-7p94-766c-hgjp |
- nltk/nltk Vendornltk Affected up to latest Fixed in — No fix listed CNA
- nltk (PyPI) Vendor— Affected before 3.9.3 Fixed in 3.9.3 Patch available GHSA-7p94-766c-hgjp
Remediation
- Fix · GHSA-7p94-766c-hgjp nltk (PyPI) Fixed in 3.9.3 Advisory →
Red Hat 1 advisory
- RHSA-2026:10184 Released 2026-04-23 · Red Hat rating ImportantRHOAI 2.25.5 - Red Hat OpenShift AI
- Red Hat OpenShift AI 2.25 registry.redhat.io/rhoai/odh-caikit-nlp-rhel9, registry.redhat.io/rhoai/odh-caikit-tgis-serving-rhel9, registry.redhat.io/rhoai/odh-dashboard-rhel9 +47
Vendor assessments
Red Hat
Red Hat rating: Important. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| OpenShift Lightspeed | Affected | No fix yet |
| Red Hat OpenShift AI (RHOAI) | Affected | No fix yet |
| Red Hat OpenShift AI 2.25 | Fixed | RHSA-2026:10184 |
Not affected: 1 product
- Red Hat OpenShift AI 2.25
Timeline
- 2026-10-02 Threatist record created from CVE-2025-14009
- 2026-10-03 Alias added: GHSA-7p94-766c-hgjp
References
Other 5
- https://github.com/nltk/nltk/pull/3468
- https://github.com/nltk/nltk/commit/1056b323af6462455571302e766b67cf300aea18
- https://github.com/nltk/nltk
- https://github.com/nltk/nltk/blob/4154eb85e832f266660a09286c7e37e308292284/ChangeLog#L1
- https://github.com/pypa/advisory-database/tree/main/vulns/nltk/PYSEC-2026-96.yaml
More Nltk vulnerabilities
- TI-2026-00629 Arbitrary Code Execution in NLTK StanfordSegmenter via Untrusted JAR Loading CVSS 3.0CRITICAL 10.0
- TI-2026-55173 NLTK before 3.10.3 JVM Argument Injection via Per-Call Options CVSS 4.0CRITICAL 9.3
- TI-2026-55155 NLTK before 3.10.3 Remote Code Execution via Unsafe Pickle Deserialization CVSS 4.0CRITICAL 9.3
- TI-2026-56370 nltk PorterStemmer before 3.10.3 Quadratic-time DoS CVSS 4.0HIGH 8.7
- TI-2026-55172 NLTK 3.10.2 Path Traversal via corpus-reader constructors CVSS 4.0HIGH 8.8
- TI-2026-54694 NLTK before 3.10.3 SSRF Protection Bypass via Proxy CVSS 4.0HIGH 8.7
Sources
- CVE-2025-14009 · CVE Program
- CVE-2025-14009 · NVD
- FIRST EPSS
- GHSA-7p94-766c-hgjp · GitHub Advisory Database · CC BY 4.0
- CVE-2025-14009 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences