nltk — security advisory
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.
- Products
- nltk
- Affected versions
- 2.0~b9-0ubuntu4, 2.0~b9-0ubuntu4.1~esm2, 2.0~b9-0ubuntu4.1~esm4, 3.0.4-1, 3.0.5-1, 3.1-1, 3.1-1ubuntu0.1, 3.1-1ubuntu0.1+esm1, 3.1-1ubuntu0.1+esm2, 3.10.0-1, 3.10.1-1, 3.10.3-1, 3.2.4-1, 3.2.5-1, 3.2.5-1ubuntu0.1, 3.2.5-1ubuntu0.1+esm1, 3.2.5-1ubuntu0.1+esm2, 3.4.5-1, 3.4.5-2, 3.4.5-2ubuntu0.1~esm1, 3.4.5-2ubuntu0.1~esm2, 3.5-1, 3.6.5-1, 3.6.7-1, 3.7-1, 3.8.1-1, 3.9.1-2, 3.9.1-2build1, 3.9.2-1, 3.9.3-1
- Fixed versions
- 2.0~b9-0ubuntu4.1~esm5, 3.1-1ubuntu0.1+esm3, 3.2.5-1ubuntu0.1+esm3, 3.4.5-2ubuntu0.1~esm3, 3.7-1ubuntu0.1~esm1, 3.8.1-1ubuntu0.1~esm1, 3.9.2-1ubuntu0.1~esm1
- CVEs
- CVE-2025-14009
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 31 Oct 2026, 01:24 UTC · Revision 1
Source evidence
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.
osv:UBUNTU-CVE-2025-14009
nltk
Fixed versions: 2.0~b9-0ubuntu4.1~esm5
nltk
Fixed versions: 3.1-1ubuntu0.1+esm3
nltk
Fixed versions: 3.2.5-1ubuntu0.1+esm3
nltk
Fixed versions: 3.4.5-2ubuntu0.1~esm3
nltk
Fixed versions: 3.7-1ubuntu0.1~esm1
nltk
Fixed versions: 3.8.1-1ubuntu0.1~esm1
nltk
Fixed versions: Not specified
nltk
Fixed versions: Not specified
nltk
Fixed versions: 3.9.2-1ubuntu0.1~esm1
Complete source record
{
"id": "3c91f616d3455d0f35e23fe625ceedb859cc2756266be12332bf0cf43bf0ea23",
"url": "https://osv.dev/vulnerability/UBUNTU-CVE-2025-14009",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "UBUNTU-CVE-2025-14009",
"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.",
"evidence": "osv:UBUNTU-CVE-2025-14009",
"products": [
{
"name": {
"value": "nltk",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "2.0~b9-0ubuntu4.1~esm5",
"evidence": "/affected/0/ranges"
}
],
"affected_versions": [
{
"value": "2.0~b9-0ubuntu4",
"evidence": "/affected/0/versions"
},
{
"value": "2.0~b9-0ubuntu4.1~esm2",
"evidence": "/affected/0/versions"
},
{
"value": "2.0~b9-0ubuntu4.1~esm4",
"evidence": "/affected/0/versions"
}
]
},
{
"name": {
"value": "nltk",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3.1-1ubuntu0.1+esm3",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": [
{
"value": "3.0.4-1",
"evidence": "/affected/1/versions"
},
{
"value": "3.0.5-1",
"evidence": "/affected/1/versions"
},
{
"value": "3.1-1",
"evidence": "/affected/1/versions"
},
{
"value": "3.1-1ubuntu0.1",
"evidence": "/affected/1/versions"
},
{
"value": "3.1-1ubuntu0.1+esm1",
"evidence": "/affected/1/versions"
},
{
"value": "3.1-1ubuntu0.1+esm2",
"evidence": "/affected/1/versions"
}
]
},
{
"name": {
"value": "nltk",
"evidence": "/affected/2/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3.2.5-1ubuntu0.1+esm3",
"evidence": "/affected/2/ranges"
}
],
"affected_versions": [
{
"value": "3.2.4-1",
"evidence": "/affected/2/versions"
},
{
"value": "3.2.5-1",
"evidence": "/affected/2/versions"
},
{
"value": "3.2.5-1ubuntu0.1",
"evidence": "/affected/2/versions"
},
{
"value": "3.2.5-1ubuntu0.1+esm1",
"evidence": "/affected/2/versions"
},
{
"value": "3.2.5-1ubuntu0.1+esm2",
"evidence": "/affected/2/versions"
}
]
},
{
"name": {
"value": "nltk",
"evidence": "/affected/3/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3.4.5-2ubuntu0.1~esm3",
"evidence": "/affected/3/ranges"
}
],
"affected_versions": [
{
"value": "3.4.5-1",
"evidence": "/affected/3/versions"
},
{
"value": "3.4.5-2",
"evidence": "/affected/3/versions"
},
{
"value": "3.4.5-2ubuntu0.1~esm1",
"evidence": "/affected/3/versions"
},
{
"value": "3.4.5-2ubuntu0.1~esm2",
"evidence": "/affected/3/versions"
}
]
},
{
"name": {
"value": "nltk",
"evidence": "/affected/4/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3.7-1ubuntu0.1~esm1",
"evidence": "/affected/4/ranges"
}
],
"affected_versions": [
{
"value": "3.5-1",
"evidence": "/affected/4/versions"
},
{
"value": "3.6.5-1",
"evidence": "/affected/4/versions"
},
{
"value": "3.6.7-1",
"evidence": "/affected/4/versions"
},
{
"value": "3.7-1",
"evidence": "/affected/4/versions"
}
]
},
{
"name": {
"value": "nltk",
"evidence": "/affected/5/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3.8.1-1ubuntu0.1~esm1",
"evidence": "/affected/5/ranges"
}
],
"affected_versions": [
{
"value": "3.8.1-1",
"evidence": "/affected/5/versions"
}
]
},
{
"name": {
"value": "nltk",
"evidence": "/affected/6/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "3.9.1-2",
"evidence": "/affected/6/versions"
}
]
},
{
"name": {
"value": "nltk",
"evidence": "/affected/7/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "3.9.2-1",
"evidence": "/affected/7/versions"
},
{
"value": "3.9.3-1",
"evidence": "/affected/7/versions"
},
{
"value": "3.10.0-1",
"evidence": "/affected/7/versions"
},
{
"value": "3.10.1-1",
"evidence": "/affected/7/versions"
},
{
"value": "3.10.3-1",
"evidence": "/affected/7/versions"
}
]
},
{
"name": {
"value": "nltk",
"evidence": "/affected/8/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3.9.2-1ubuntu0.1~esm1",
"evidence": "/affected/8/ranges"
}
],
"affected_versions": [
{
"value": "3.9.1-2",
"evidence": "/affected/8/versions"
},
{
"value": "3.9.1-2build1",
"evidence": "/affected/8/versions"
},
{
"value": "3.9.2-1",
"evidence": "/affected/8/versions"
}
]
}
],
"severity": "critical",
"structured": {
"id": "UBUNTU-CVE-2025-14009",
"aliases": [
"UBUNTU-CVE-2025-14009"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H"
},
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"
},
{
"type": "Ubuntu",
"score": "high"
}
],
"affected": [
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "2.0~b9-0ubuntu4.1~esm5"
}
]
}
],
"package": {
"name": "nltk",
"purl": "pkg:deb/ubuntu/nltk?arch=source&distro=esm-infra-legacy%2Ftrusty",
"ecosystem": "Ubuntu:Pro:14.04:LTS"
},
"versions": [
"2.0~b9-0ubuntu4",
"2.0~b9-0ubuntu4.1~esm2",
"2.0~b9-0ubuntu4.1~esm4"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2025/UBUNTU-CVE-2025-14009.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "python-nltk",
"binary_version": "2.0~b9-0ubuntu4.1~esm5"
}
],
"availability": "Available with Ubuntu Pro with Legacy support add-on: https://ubuntu.com/pro",
"priority_reason": "arbitrary code execution"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3.1-1ubuntu0.1+esm3"
}
]
}
],
"package": {
"name": "nltk",
"purl": "pkg:deb/ubuntu/nltk?arch=source&distro=esm-apps%2Fxenial",
"ecosystem": "Ubuntu:Pro:16.04:LTS"
},
"versions": [
"3.0.4-1",
"3.0.5-1",
"3.1-1",
"3.1-1ubuntu0.1",
"3.1-1ubuntu0.1+esm1",
"3.1-1ubuntu0.1+esm2"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2025/UBUNTU-CVE-2025-14009.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "python-nltk",
"binary_version": "3.1-1ubuntu0.1+esm3"
},
{
"binary_name": "python3-nltk",
"binary_version": "3.1-1ubuntu0.1+esm3"
}
],
"availability": "Available with Ubuntu Pro: https://ubuntu.com/pro",
"priority_reason": "arbitrary code execution"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3.2.5-1ubuntu0.1+esm3"
}
]
}
],
"package": {
"name": "nltk",
"purl": "pkg:deb/ubuntu/nltk?arch=source&distro=esm-apps%2Fbionic",
"ecosystem": "Ubuntu:Pro:18.04:LTS"
},
"versions": [
"3.2.4-1",
"3.2.5-1",
"3.2.5-1ubuntu0.1",
"3.2.5-1ubuntu0.1+esm1",
"3.2.5-1ubuntu0.1+esm2"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2025/UBUNTU-CVE-2025-14009.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "python-nltk",
"binary_version": "3.2.5-1ubuntu0.1+esm3"
},
{
"binary_name": "python3-nltk",
"binary_version": "3.2.5-1ubuntu0.1+esm3"
}
],
"availability": "Available with Ubuntu Pro: https://ubuntu.com/pro",
"priority_reason": "arbitrary code execution"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3.4.5-2ubuntu0.1~esm3"
}
]
}
],
"package": {
"name": "nltk",
"purl": "pkg:deb/ubuntu/nltk?arch=source&distro=esm-apps%2Ffocal",
"ecosystem": "Ubuntu:Pro:20.04:LTS"
},
"versions": [
"3.4.5-1",
"3.4.5-2",
"3.4.5-2ubuntu0.1~esm1",
"3.4.5-2ubuntu0.1~esm2"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2025/UBUNTU-CVE-2025-14009.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "python3-nltk",
"binary_version": "3.4.5-2ubuntu0.1~esm3"
}
],
"availability": "Available with Ubuntu Pro: https://ubuntu.com/pro",
"priority_reason": "arbitrary code execution"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3.7-1ubuntu0.1~esm1"
}
]
}
],
"package": {
"name": "nltk",
"purl": "pkg:deb/ubuntu/nltk?arch=source&distro=esm-apps%2Fjammy",
"ecosystem": "Ubuntu:Pro:22.04:LTS"
},
"versions": [
"3.5-1",
"3.6.5-1",
"3.6.7-1",
"3.7-1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2025/UBUNTU-CVE-2025-14009.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "python3-nltk",
"binary_version": "3.7-1ubuntu0.1~esm1"
}
],
"availability": "Available with Ubuntu Pro: https://ubuntu.com/pro",
"priority_reason": "arbitrary code execution"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3.8.1-1ubuntu0.1~esm1"
}
]
}
],
"package": {
"name": "nltk",
"purl": "pkg:deb/ubuntu/nltk?arch=source&distro=esm-apps%2Fnoble",
"ecosystem": "Ubuntu:Pro:24.04:LTS"
},
"versions": [
"3.8.1-1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2025/UBUNTU-CVE-2025-14009.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "python3-nltk",
"binary_version": "3.8.1-1ubuntu0.1~esm1"
}
],
"availability": "Available with Ubuntu Pro: https://ubuntu.com/pro",
"priority_reason": "arbitrary code execution"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "nltk",
"purl": "pkg:deb/ubuntu/nltk?arch=source&distro=questing",
"ecosystem": "Ubuntu:25.10"
},
"versions": [
"3.9.1-2"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2025/UBUNTU-CVE-2025-14009.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "python3-nltk",
"binary_version": "3.9.1-2"
}
],
"priority_reason": "arbitrary code execution"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "nltk",
"purl": "pkg:deb/ubuntu/nltk?arch=source&distro=stonking",
"ecosystem": "Ubuntu:26.10"
},
"versions": [
"3.9.2-1",
"3.9.3-1",
"3.10.0-1",
"3.10.1-1",
"3.10.3-1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2025/UBUNTU-CVE-2025-14009.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "python3-nltk",
"binary_version": "3.10.3-1"
}
],
"priority_reason": "arbitrary code execution"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3.9.2-1ubuntu0.1~esm1"
}
]
}
],
"package": {
"name": "nltk",
"purl": "pkg:deb/ubuntu/nltk?arch=source&distro=esm-apps%2Fresolute",
"ecosystem": "Ubuntu:Pro:26.04:LTS"
},
"versions": [
"3.9.1-2",
"3.9.1-2build1",
"3.9.2-1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2025/UBUNTU-CVE-2025-14009.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "python3-nltk",
"binary_version": "3.9.2-1ubuntu0.1~esm1"
}
],
"availability": "Available with Ubuntu Pro: https://ubuntu.com/pro",
"priority_reason": "arbitrary code execution"
}
}
],
"modified": "2026-10-17T12:56:48.044091535Z",
"provider": "osv",
"upstream": [
"CVE-2025-14009"
],
"references": [
"https://ubuntu.com/security/CVE-2025-14009",
"https://www.cve.org/CVERecord?id=CVE-2025-14009",
"https://huntr.com/bounties/49ecbc02-054e-4470-b2e0-b267936cc4e4",
"https://github.com/nltk/nltk/pull/3468",
"https://github.com/nltk/nltk/issues/3489",
"https://ubuntu.com/security/notices/USN-8214-1"
]
},
"related_cves": [
{
"value": "CVE-2025-14009",
"evidence": "/upstream"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 356305,
"published_at": "2026-02-18T18:24:00+00:00"
}