CVE-2025-14009 json
Zip Slip Vulnerability in nltk/nltk Leading to Remote Code Execution
published 2026-02-18 8 mo ago modified 2026-09-10 1 mo ago also GHSA-7p94-766c-hgjp , PYSEC-2026-96 , EUVD-2025-207820
- cvss
- 10.0
- version 3.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.0%
- EPSS 1.0% chance of exploitation in 30 days, percentile 64%
- public exploits
- 0
- none known
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.
Patch / fix
- pypi nltk 3.9.3
- Red Hat Red Hat OpenShift AI 2.25 1775144403, 1776271296
- nltk Debian 14 3.9.3-1
debian advisories DEBIAN-CVE-2025-14009
- nltk Ubuntu Pro 14.04 LTS 2.0~b9-0ubuntu4.1~esm5
- nltk Ubuntu Pro 16.04 LTS 3.1-1ubuntu0.1+esm3
- nltk Ubuntu Pro 18.04 LTS 3.2.5-1ubuntu0.1+esm3
- nltk Ubuntu Pro 20.04 LTS 3.4.5-2ubuntu0.1~esm3
- nltk Ubuntu Pro 22.04 LTS 3.7-1ubuntu0.1~esm1
- nltk Ubuntu Pro 24.04 LTS 3.8.1-1ubuntu0.1~esm1
- nltk Ubuntu Pro 26.04 LTS 3.9.2-1ubuntu0.1~esm1
ubuntu advisories UBUNTU-CVE-2025-14009
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- python-nltk openSUSE Tumbleweed 3.9.1-3.1
opensuse advisories openSUSE-SU-2026:10226-1
- py3-nltk Alpine 3.24 3.9.3-r0
alpine advisories ALPINE-CVE-2025-14009
Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- github.com/nltk/nltk@1056b32 commit
- github.com/nltk/nltk#3468 pull request
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2025-14009 updated cvss 8.8
nltk: Zip Slip Vulnerability in nltk Leading to Code Execution
-
Red Hat OpenShift Lightspeed openshift-lightspeed/lightspeed-ocp-rag-rhel9, openshift-lightspeed/lightspeed-service-api-rhel9, openshift-lightspeed-tech-preview/lightspeed-rag-tool-rhel9 Red Hat OpenShift AI (RHOAI) rhoai/odh-pipeline-runtime-pytorch-llmcompressor-cuda-py312-rhel9, rhoai/odh-workbench-jupyter-pytorch-llmcompressor-cuda-py312-rhel9affected: workaround, no fix available
-
Red Hat OpenShift AI 2.25 rhoai 1775144403, rhoai 1776271296fixed: vendor fix RHSA-2026:10184
-
Red Hat OpenShift AI 2.25 rhoai 1776243157, rhoai 1776243163, rhoai 1776243192, rhoai 1776243217, rhoai 1776243229, rhoai 1776243238, +69 morenot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- yes
- Technical impact
- total
- Assessed
- 8 mo ago
Exploit prediction
1.04% chance of exploitation in the next 30 days, higher than 64% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- huntr.com https://huntr.com/bounties/49ecbc02-054e-4470-b2e0-b267936cc4e4 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.0 | 10.0 | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H |
| CISA ADP | 3.1 | 8.8 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| CNA | 3.1 | 8.8 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| OSV | 3.0 | 10.0 | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H |
| GitHub | 3.0 | 10.0 | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | nltk | <3.9.3 |
3.9.3 |
Affected products
- nltk nltk/nltk
- Red Hat Red Hat OpenShift AI 2.25
- Red Hat OpenShift Lightspeed
- Red Hat Red Hat OpenShift AI (RHOAI)
Classification
- Weakness
-
- CWE-94 Improper Control of Generation of Code
References
-
github.com
/nltk/nltk/pull/3468
web
-
github.com
/nltk/nltk/commit/1056b323af6462455571302e766b67cf300aea18
web
-
huntr.com
/bounties/49ecbc02-054e-4470-b2e0-b267936cc4e4
exploit, web, third-party-advisory, evidence
-
access.redhat.com
/errata/RHSA-2026:10184
vendor-advisory
-
access.redhat.com
/security/cve/CVE-2025-14009
vdb-entry
-
bugzilla.redhat.com
/show_bug.cgi?id=2440724
issue-tracking
- security.access.redhat.com /data/csaf/v2/vex/2025/cve-2025-14009.json
-
nvd.nist.gov
/vuln/detail/CVE-2025-14009
advisory
-
github.com
/nltk/nltk
package
-
github.com
/nltk/nltk/blob/4154eb85e832f266660a09286c7e37e308292284/ChangeLog#L1
web
-
github.com
/pypa/advisory-database/tree/main/vulns/nltk/PYSEC-2026-96.yaml
web
-
github.com
/advisories/GHSA-7p94-766c-hgjp
advisory
Sources
- CVE List CVE-2025-14009
- GitHub Advisory GHSA-7p94-766c-hgjp
- NVD CVE-2025-14009
- OSV PYSEC-2026-96
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.