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.
Fix
Nothing published yet: no patch, vendor advisory or mitigation reference on NVD, no vendor advisory in the News for this CVE, not in CISA's KEV, no fixed package version. BaselineWatch does not guess at one.
Change history 1
- First seenCVSS 3.7 · nltkNVD modified 2026-10-23 20:10
Affected (CPE criteria) 1
cpe:2.3:a:nltk:nltk:3.9.4:*:*:*:*:*:*:*
References 2
- https://huntr.com/bounties/2911b643-571c-42e4-b0c2-9a1fa6f491db Permissions Required
- https://huntr.com/bounties/2911b643-571c-42e4-b0c2-9a1fa6f491db Permissions Required