Description
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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| nltk | nltk/nltk | unspecified – ≤ latest | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | nltk | 3.9.3-1 | — |
| Debian 13 | nltk | No fix yet | — |
| Debian 12 | nltk | No fix yet | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 26.10 | nltk | No fix yet | — |
| Ubuntu 25.10 | nltk | No fix yet | — |
Show 7 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Pro 26.04 LTS | nltk | 3.9.2-1ubuntu0.1~esm1 | — |
| Ubuntu Pro 24.04 LTS | nltk | 3.8.1-1ubuntu0.1~esm1 | — |
| Ubuntu Pro 22.04 LTS | nltk | 3.7-1ubuntu0.1~esm1 | — |
| Ubuntu Pro 20.04 LTS | nltk | 3.4.5-2ubuntu0.1~esm3 | — |
| Ubuntu Pro 18.04 LTS | nltk | 3.2.5-1ubuntu0.1+esm3 | — |
| Ubuntu Pro 16.04 LTS | nltk | 3.1-1ubuntu0.1+esm3 | — |
| Ubuntu Pro 14.04 LTS | nltk | 2.0~b9-0ubuntu4.1~esm5 | — |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Tumbleweed | python-nltk | 3.9.1-3.1 | openSUSE-SU-2026:10226-1 |
Alpine
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Alpine v3.24 | py3-nltk | 3.9.3-r0 | — |
Wolfi
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Wolfi rolling | kubeflow-pipelines-visualization-server | 2.16.0-r0 | — |
| Wolfi rolling | open-webui | 0.8.9-r0 | — |
| Wolfi rolling | py3.11-nltk +2 | 3.9.3-r0 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| PyPI | nltk | < 3.9.3 | 3.9.3 | GHSA-7p94-766c-hgjp |
Advisories 1
- openSUSE-SU-2026:10226-1 python311-nltk-3.9.1-3.1 on GA media SUSE / openSUSE Security Updates · Mar 23, 2026