
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-78682 is a Server-Side Request Forgery (SSRF) vulnerability in the Natural Language Toolkit (NLTK) Python library affecting all versions before 3.10.3. The flaw resides in nltk.pathsec.urlopen and its callers (nltk.data.load, nltk.downloader.Downloader.index, and nltk.downloader.Downloader.download) when an HTTP proxy is configured. It was published on August 25, 2026, with the underlying security advisory (GHSA-6ww7-3frv-cqxh) authored by researcher sondt99 and published August 11, 2026. It carries a CVSS v3.1 base score of 7.5 (High) and a CVSS v4.0 base score of 8.7 (High) (GitHub Advisory, NLTK Advisory).
The root cause is classified as CWE-918 (Server-Side Request Forgery) and CWE-441 (Unintended Proxy or Intermediary). pathsec.urlopen() performs hostname validation locally against the requested URL, but when an HTTP proxy is configured, proxy-handler inheritance replaces the safe _SafeHTTPHandler and _SafeHTTPSHandler with ProxyHandler instances copied from the global opener. This causes the actual network fetch to be performed by the proxy against a destination that is never re-validated — effectively bypassing the SSRF protection entirely. An attacker can supply a publicly routable URL that passes local validation, while the proxy silently forwards the request to an internal loopback-only service. The vulnerability was confirmed across pathsec.urlopen(), nltk.data.load(), Downloader.index(), and Downloader.download(), and is distinct from the earlier DNS-rebinding fixes addressed in CVE-2026-54296 (NLTK Advisory).
Successful exploitation allows an unauthenticated network attacker to read internal-only HTTP resources by routing requests through a configured proxy, bypassing NLTK's SSRF safeguards. Beyond information disclosure, an attacker can load forged downloader indexes and cause NLTK to install attacker-chosen package content fetched from the proxy's network view, introducing a supply-chain-style integrity risk. The confidentiality impact is rated High, with no direct availability or integrity impact on the vulnerable system itself, though the ability to install arbitrary packages introduces significant downstream integrity risk to affected environments (NLTK Advisory, GitHub Advisory).
There is no public proof-of-concept exploit code and no evidence of in-the-wild exploitation at the time of disclosure (Feedly). The EPSS score is 0.0, reflecting very low current exploitation probability. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. Exploitation requires that the target environment has an HTTP proxy configured — either via environment variables (e.g., http_proxy) or an explicit ProxyHandler — which limits the attack surface to deployments with such configurations.
http_proxy environment variable or explicit ProxyHandler).http://127.0.0.1:PORT/secret) that serves sensitive data, a forged downloader index, or a malicious ZIP payload.http://legitimate-public-host.example.com/resource) to the internal loopback service.pathsec.urlopen(), nltk.data.load(), Downloader.index(), or Downloader.download(). The local hostname validation passes because the public hostname is legitimate.~/nltk_data/) that do not correspond to official NLTK corpora or models.Downloader.download()) installing packages from non-standard or unexpected index URLs (NLTK Advisory).Upgrade NLTK to version 3.10.3 or later, which addresses the vulnerability by refusing proxied fetches under the ENFORCE mode rather than performing them unvalidated. The fix causes pathsec.urlopen() to raise a PermissionError when a proxy is detected and the egress destination cannot be validated. Operators who explicitly trust their proxy infrastructure can opt back in by setting the environment variable NLTK_ALLOW_PROXIED_URLOPEN=1 or nltk.pathsec.ALLOW_PROXIED_FETCH=True. As an interim workaround if patching is not immediately possible, disable or remove HTTP proxy configuration from environments running NLTK, and implement network-level controls (e.g., firewall rules) to prevent the proxy from forwarding requests to internal or loopback addresses (NLTK Advisory, GitHub Advisory).
The vulnerability was reported by researcher sondt99 and assigned high severity by both NVD and the GitHub Advisory Database. VulnCheck published an advisory noting the SSRF protection bypass via proxy. No significant broader media coverage or notable community commentary beyond the official advisory channels has been identified at this time (NLTK Advisory, GitHub Advisory).
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."