# CVE-2025-14009: NLTK Zip Slip remote code execution in downloader component

Source: https://junglewise.ai/threats/cve-2025-14009-nltk-zip-slip-remote-code-execution-in-downloader-component  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-02-18. Updated: 2026-06-30  
License: CC BY 4.0 with a link back

CVE-2025-14009 · Severity: critical · CVSS 10 · Published 2026-02-18

A critical security flaw has been identified in NLTK, a widely used library for processing human language data in Python applications. The library's downloader component fails to properly verify files when extracting them, allowing a malicious actor to provide a specially crafted package that executes unauthorized code on the host system. This could lead to a full system compromise, including the theft of sensitive data, unauthorized network access, or permanent control over the affected server.

Technologies: [nltk (PyPI)](https://junglewise.ai/threats/technologies/nltk), [Red Hat OpenShift Lightspeed](https://junglewise.ai/threats/technologies/openshift-lightspeed). Vendors: [PyPI](https://junglewise.ai/threats/vendors/pypi), [Red Hat](https://junglewise.ai/threats/vendors/red-hat).

## Quick answers

**Is CVE-2025-14009 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2025-14009 being exploited in the wild.

**How severe is CVE-2025-14009?** Critical severity, with a CVSS score of 10, published 18 February 2026.

**Which products and versions are affected?** nltk (PyPI) <= 3.9.2, ECOSYSTEM:introduced=0,fixed=3.9.3; Red Hat OpenShift Lightspeed unspecified.

**Is there a fix for CVE-2025-14009?** Yes. nltk (PyPI): upgrade to 3.9.3 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2025-14009 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2025-14009?** Check whether you run nltk (PyPI) or Red Hat OpenShift Lightspeed at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- nltk (PyPI): upgrade to 3.9.3 or later

  ```sh
  pip install "nltk>=3.9.3"
  ```


## Technical details

A Zip Slip vulnerability exists in the NLTK downloader component within the `_unzip_iter` function in `nltk/downloader.py`. The component utilizes `zipfile.extractall()` without performing adequate path validation or security checks on the contents of downloaded packages. An attacker can exploit this by crafting a malicious zip file containing Python files (such as `__init__.py`) designed to be extracted into sensitive directories. When these files are subsequently imported or executed by the system, it results in arbitrary code execution. The vulnerability is addressed in NLTK version 3.9.3.

## Affected products

- NLTK Project NLTK All versions before 3.9.3
- Red Hat OpenShift AI 2.25
- Red Hat OpenShift Lightspeed unspecified

## Identifiers

- CVE-2025-14009
- GHSA-7p94-766c-hgjp
- PYSEC-2026-96

## Timeline

- 2025-01-01: other: Initial tracking date in Red Hat VEX document
- 2026-02-18: disclosed: Vulnerability published via huntr.dev and NVD
- 2026-03-06: patched: NIST analysis notes fix in version 3.9.3
- 2026-04-23: patched: Red Hat released security advisory RHSA-2026:10184 for OpenShift AI

## References

- [https://huntr.com/bounties/49ecbc02-054e-4470-b2e0-b267936cc4e4](https://huntr.com/bounties/49ecbc02-054e-4470-b2e0-b267936cc4e4)
- [https://access.redhat.com/errata/RHSA-2026:10184](https://access.redhat.com/errata/RHSA-2026:10184)
- [https://access.redhat.com/security/cve/CVE-2025-14009](https://access.redhat.com/security/cve/CVE-2025-14009)
- [https://bugzilla.redhat.com/show_bug.cgi?id=2440724](https://bugzilla.redhat.com/show_bug.cgi?id=2440724)
- [https://security.access.redhat.com/data/csaf/v2/vex/2025/cve-2025-14009.json](https://security.access.redhat.com/data/csaf/v2/vex/2025/cve-2025-14009.json)

## Related threats

- [NLTK WekaClassifier path traversal in model validation](https://junglewise.ai/threats/cve-2026-109956-nltk-through-3-10-3-contains-a-path-traversal-vulnerability-in)
- [NLTK RecursiveDescentParser uncontrolled recursion denial of service](https://junglewise.ai/threats/cve-2026-12876-nltk-recursivedescentparser-uncontrolled-recursion-denial-of)
- [NLTK tgrep regular expression denial of service](https://junglewise.ai/threats/nltk-tgrep-regular-expression-denial-of-service-02fca1b2)
- [NLTK Downloader hardlink filesystem containment bypass](https://junglewise.ai/threats/nltk-downloader-hardlink-filesystem-containment-bypass-522cb97d)
- [NLTK Pl196xCorpusReader quadratic ReDoS on malformed TEI blocks](https://junglewise.ai/threats/nltk-pl196xcorpusreader-quadratic-redos-on-malformed-tei-blocks-8473e6ef)
