HIGH 8.6 GitHub
CVE-2026-12075
Natural Language Toolkit (NLTK): DNS-rebinding SSRF filter bypass in nltk.pathsec.urlopen (nltk.download / nltk.data.load) defeats ENFORCE mode
### Summary
`nltk.pathsec` provides an SSRF filter that NLTK documents as a security control, blocking loopback, private, link-local, and multicast ranges (including obfuscated forms) and recommending strict `ENFORCE` mode for security-sensitive environments. The filter is bypassable by DNS rebinding: `validate_network_url()` resolves the hostname and checks the resulting IP, but the actual HTTP connection re-resolves the hostname independently at connect time and connects to that second result.
Affected Products
- pip/nltk <= 3.9.4
References
- https://github.com/advisories/GHSA-qvv7-cg9c-w4x3
- https://github.com/nltk/nltk/security/advisories/GHSA-qvv7-cg9c-w4x3
- https://github.com/advisories/GHSA-qvv7-cg9c-w4x3
This high severity vulnerability with a CVSS score of 8.6 was published on 2026-07-31 via GitHub. Affected: pip/nltk <= 3.9.4.
vulnfeed aggregates 9166 vulnerabilities from NVD, CISA KEV,
Ubuntu, Debian, Red Hat, Kubernetes, Exploit-DB, OSS-Security, GitHub and OpenStack — updated every 4 hours.