NLTK: pathsec SSRF protection can be bypassed when a proxy is configured
NLTK apps using an HTTP proxy can expose private internal web content. Attackers can also make them install attacker-chosen package content.
- Severity
- HighCVSS 3.1 · 7.5
- Fix
- Fixed in 3.10.3
- Affected versions
- before 3.10.3
- Weakness
- CWE-918Server-Side Request Forgery (SSRF)
- Exploit likelihood
- 0.25% in 30 daysEPSS, higher than 17% of known flaws
- Affects
- NLTK
How it works
- The affected application must use NLTK through an HTTP proxy.
- An attacker supplies a public web address that passes NLTK's initial safety check.
- The proxy then connects to a different destination without another check.
- This can expose internal web resources or deliver attacker-chosen package content.
What to do
Run python3 -m pip show nltk in every Python environment used by the application. A version of 3.10.2 or earlier requires action. Confirm whether the application sends NLTK downloads through an HTTP proxy. Finding an affected version does not prove anyone exploited it.
Run this in the application environment you want to check:
python3 -m pip show nltkUpdate each affected environment to NLTK 3.10.3 or later using its normal dependency process. Run the version check again and confirm it reports 3.10.3 or later. The fixed release refuses proxied downloads by default unless an operator explicitly trusts the proxy.
Technical details
CVE-2026-78682 affects NLTK versions through 3.10.2 when an HTTP proxy is configured. NLTK approves the requested address locally, but the proxy makes the real connection without validating its destination. Version 3.10.3 blocks these proxied requests by default. A published proof-of-concept demonstrated access to internal content, but the reviewed evidence does not establish malicious exploitation.
Severity breakdown
- Attack vector Network Requires network access to the vulnerable service
- Attack complexity Low Low complexity under the assessed conditions
- Privileges required None Attacker needs no account or login
- User interaction None No victim action needed
- Scope Unchanged Impact stays within the same security authority
- Confidentiality impact High Sensitive data can be exposed with serious impact
- Integrity impact None No data tampering
- Availability impact None No availability impact
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N Open in FIRST.org calculatorReferences
- github.com · v3.10.3 (tag) vendor advisory patch release notes
- github.com · GHSA-6ww7-3frv-cqxh vendor-advisory vendor advisory
- cve.org · CVERecord vdb entry
- nvd.nist.gov · CVE-2026-78682 us government resource vdb entry
- github.com · commit 767333a vendor advisory GitHub Advisory
- github.com · PYSEC-2026-3733.yaml (main) vendor advisory GitHub Advisory
- tenable.com · CVE-2026-78682 third party advisory vdb entry
- cvefeed.io · CVE-2026-78682 third party advisory vdb entry
- osv.dev · CVE-2026-78682 vdb entry
- euvd.enisa.europa.eu · EUVD-2026-65228 vdb entry
- cveawg.mitre.org · CVE-2026-78682
- vulncheck.com · nltk-before-ssrf-protection-bypass-via-proxy third-party-advisory GitHub Advisory