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.
References
| Link | Resource |
|---|---|
| https://huntr.com/bounties/2911b643-571c-42e4-b0c2-9a1fa6f491db | Permissions Required |
| https://huntr.com/bounties/2911b643-571c-42e4-b0c2-9a1fa6f491db | Permissions Required |
Configurations
History
No history.
Information
Published : 2026-08-09 23:16
Updated : 2026-09-04 13:59
NVD link : CVE-2026-12372
Mitre link : CVE-2026-12372
CVE.ORG link : CVE-2026-12372
JSON object : View
Products Affected
nltk
- nltk
CWE
CWE-918
Server-Side Request Forgery (SSRF)
