
CVE catalog
CVE-2026-12372
A Server-Side Request Forgery (SSRF) vulnerability exists in nltk/nltk versions 3.9.4 and the current develop branch. The `nltk.pathsec.validate_network_url()` function, intended to prevent SSRF by re
- Severity
- Low · CVSS 3.7
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N - Published
- Source
- [NVD] · [CVE record]
- EPSS
- 0.26% · Oct 25, 2026
A Server-Side Request Forgery (SSRF) vulnerability exists in nltk/nltk versions 3.9.4 and the current develop branch. The `nltk.pathsec.validate_network_url()` function, intended to prevent SSRF by rejecting internal network addresses, fails to reject IPs in the RFC 6598 shared address space (`100.64.0.0/10`). This occurs because Python's `ipaddress` module does not classify such addresses as `is_private` or `is_global`, and the current guard only checks `is_private` and a few explicit categories. An attacker who can influence a URL passed to NLTK's network-loading helpers can exploit this vulnerability to make a strict-mode application send requests to shared-address-space hosts, potentially exposing non-public infrastructure reachable from the application host. The impact is limited to SSRF-style confidentiality exposure, with no code execution claimed.
Vulnerable and fixed packages
Distribution-reported package versions and fixes. These do not depend on matching against the OpenFactory package catalog.
| Distribution | Package | Release | Version | Status |
|---|---|---|---|---|
| Debian | nltk | sid | 3.10.3-1 | vulnerable |
| Debian | nltk | forky | 3.10.3-1 | vulnerable |
| Debian | nltk | trixie | 3.9.1-2 | vulnerable |
| Debian | nltk | bookworm | 3.8-1 | vulnerable |
| Cpe | nltk | Not reported | Not reported | unknown |
| PyPI | nltk | Not reported | 0.8 | vulnerable |
| PyPI | nltk | Not reported | 0.9 | vulnerable |
| PyPI | nltk | Not reported | 0.9.3 | vulnerable |
| PyPI | nltk | Not reported | 0.9.4 | vulnerable |
| PyPI | nltk | Not reported | 0.9.5 | vulnerable |
| PyPI | nltk | Not reported | 0.9.6 | vulnerable |
| PyPI | nltk | Not reported | 0.9.7 | vulnerable |
| PyPI | nltk | Not reported | 0.9.8 | vulnerable |
| PyPI | nltk | Not reported | 0.9.9 | vulnerable |
| PyPI | nltk | Not reported | 2.0.1 | vulnerable |
| PyPI | nltk | Not reported | 2.0.1rc1 | vulnerable |
| PyPI | nltk | Not reported | 2.0.1rc2-git | vulnerable |
| PyPI | nltk | Not reported | 2.0.1rc3 | vulnerable |
| PyPI | nltk | Not reported | 2.0.1rc4 | vulnerable |
| PyPI | nltk | Not reported | 2.0.2 | vulnerable |
| PyPI | nltk | Not reported | 2.0.3 | vulnerable |
| PyPI | nltk | Not reported | 2.0.4 | vulnerable |
| PyPI | nltk | Not reported | 2.0.5 | vulnerable |
| PyPI | nltk | Not reported | 2.0b4 | vulnerable |
| PyPI | nltk | Not reported | 2.0b5 | vulnerable |
| PyPI | nltk | Not reported | 2.0b6 | vulnerable |
| PyPI | nltk | Not reported | 2.0b7 | vulnerable |
| PyPI | nltk | Not reported | 2.0b8 | vulnerable |
| PyPI | nltk | Not reported | 2.0b9 | vulnerable |
| PyPI | nltk | Not reported | 3.0.0 | vulnerable |
| PyPI | nltk | Not reported | 3.0.0b1 | vulnerable |
| PyPI | nltk | Not reported | 3.0.0b2 | vulnerable |
| PyPI | nltk | Not reported | 3.0.1 | vulnerable |
| PyPI | nltk | Not reported | 3.0.2 | vulnerable |
| PyPI | nltk | Not reported | 3.0.3 | vulnerable |
| PyPI | nltk | Not reported | 3.0.4 | vulnerable |
| PyPI | nltk | Not reported | 3.0.5 | vulnerable |
| PyPI | nltk | Not reported | 3.1 | vulnerable |
| PyPI | nltk | Not reported | 3.2 | vulnerable |
| PyPI | nltk | Not reported | 3.2.1 | vulnerable |
| PyPI | nltk | Not reported | 3.2.2 | vulnerable |
| PyPI | nltk | Not reported | 3.2.3 | vulnerable |
| PyPI | nltk | Not reported | 3.2.4 | vulnerable |
| PyPI | nltk | Not reported | 3.2.5 | vulnerable |
| PyPI | nltk | Not reported | 3.3 | vulnerable |
| PyPI | nltk | Not reported | 3.4 | vulnerable |
| PyPI | nltk | Not reported | 3.4.1 | vulnerable |
| PyPI | nltk | Not reported | 3.4.2 | vulnerable |
| PyPI | nltk | Not reported | 3.4.3 | vulnerable |
| PyPI | nltk | Not reported | 3.4.4 | vulnerable |
| PyPI | nltk | Not reported | 3.4.5 | vulnerable |
| PyPI | nltk | Not reported | 3.5 | vulnerable |
| PyPI | nltk | Not reported | 3.5b1 | vulnerable |
| PyPI | nltk | Not reported | 3.6 | vulnerable |
| PyPI | nltk | Not reported | 3.6.1 | vulnerable |
| PyPI | nltk | Not reported | 3.6.2 | vulnerable |
| PyPI | nltk | Not reported | 3.6.3 | vulnerable |
| PyPI | nltk | Not reported | 3.6.4 | vulnerable |
| PyPI | nltk | Not reported | 3.6.5 | vulnerable |
| PyPI | nltk | Not reported | 3.6.6 | vulnerable |
| PyPI | nltk | Not reported | 3.6.7 | vulnerable |
| PyPI | nltk | Not reported | 3.7 | vulnerable |
| PyPI | nltk | Not reported | 3.8 | vulnerable |
| PyPI | nltk | Not reported | 3.8.1 | vulnerable |
| PyPI | nltk | Not reported | 3.9 | vulnerable |
| PyPI | nltk | Not reported | 3.9.1 | vulnerable |
| PyPI | nltk | Not reported | 3.9.2 | vulnerable |
| PyPI | nltk | Not reported | 3.9.3 | vulnerable |
| PyPI | nltk | Not reported | 3.9.4 | vulnerable |
| PyPI | nltk | Not reported | 3.9b1 | vulnerable |
| Pip | nltk | Not reported | 3.10.0 | fixed |
| Opensuse | python-nltk | tumbleweed | 3.10.2-1.1 | fixed |
Fixed-version evidence
| Distribution | Package | Type | Release | Fixed version | Urgency | Origin | Bugs |
|---|---|---|---|---|---|---|---|
| Debian | nltk | source | sid | (unfixed) | not yet assigned | Not reported | [1144456] |
| Debian | nltk | source | forky | (unfixed) | not yet assigned | Not reported | [1144456] |
| Debian | nltk | source | trixie | (unfixed) | not yet assigned | Not reported | [1144456] |
| Debian | nltk | source | bookworm | (unfixed) | not yet assigned | Not reported | [1144456] |
| Pip | nltk | pip | Not reported | 3.10.0 | Not reported | GHSA-2JHM-W3MP-JCWR | Not reported |
| Opensuse | python-nltk | rpm | tumbleweed | 3.10.2-1.1 | Not reported | OPENSUSE-SU-2026:11510-1 | Not reported |
Notes
[trixie] nltk: Minor issue [bookworm] nltk: Minor issue
OpenFactory catalog packages
[Debian 12 (Bookworm)]
- [python3-nltk]Affected
Source package: [nltk]
Details (2)
3.8-1· all · bookwormAffected
nvd · nltk · debian · bookworm; nvd · nltk · debian · 12
3.8-1· all · bookwormAffected
nvd · nltk · debian · bookworm; nvd · nltk · debian · 12
[Debian 13 (Trixie)]
- [python3-nltk]Affected
Source package: [nltk]
Details (2)
3.9.1-2· all · trixieAffected
nvd · nltk · debian · 13
3.9.1-2· all · trixieAffected
nvd · nltk · debian · 13
[openSUSE Tumbleweed]
- [python313-nltk]Unknown
Source package: [python-nltk]
Details (1)
3.10.3-1.1· noarch · tumbleweedUnknown · Fixed:
3.10.2-1.1Version impact unknown
nvd · python-nltk · opensuse · tumbleweed
- [python314-nltk]Unknown
Source package: [python-nltk]
Details (1)
3.10.3-1.1· noarch · tumbleweedUnknown · Fixed:
3.10.2-1.1Version impact unknown
nvd · python-nltk · opensuse · tumbleweed
Observed:
References
- [https://ftp.suse.com/pub/projects/security/csaf/opensuse-su-2026_11510-1.json]
- [https://huntr.com/bounties/2911b643-571c-42e4-b0c2-9a1fa6f491db]
- [https://nvd.nist.gov/vuln/detail/CVE-2026-12372]
- [https://osv.dev/vulnerability/DEBIAN-CVE-2026-12372]
- [https://osv.dev/vulnerability/PYSEC-2026-3955]
- [https://osv.dev/vulnerability/openSUSE-SU-2026:11510-1]
- [https://security-tracker.debian.org/tracker/CVE-2026-12372]
- [https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-12372.json]
[Debian Security Tracker] · [FIRST EPSS] · [GitHub Advisory Database] · [National Vulnerability Database (NVD)] · [OSV Package Vulnerability Database] · [Red Hat security advisories and VEX] · [SUSE security advisories and VEX]