CVE-2026-12075: NLTK DNS-rebinding SSRF filter bypass in pathsec.urlopen

CVE-2026-12075 · Severity: high · CVSS 8.6 · Published 2026-07-31

The Natural Language Toolkit (NLTK), a popular Python library for processing human language data, contains a security flaw in its internal web request functions. This vulnerability allows an attacker to bypass security filters designed to prevent the library from accessing sensitive internal network resources, such as private administrative interfaces or cloud credential services. If exploited, an attacker could steal sensitive data or gain unauthorized access to the underlying cloud infrastructure where the software is running.

Technologies: nltk (PyPI). Vendors: PyPI.

Quick answers

Is CVE-2026-12075 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-12075 being exploited in the wild.
How severe is CVE-2026-12075?
High severity, with a CVSS score of 8.6, published 31 July 2026.
Which products and versions are affected?
nltk (PyPI) <= 3.9.4, ECOSYSTEM:introduced=0,fixed=3.10.0.
Is there a fix for CVE-2026-12075?
Yes. nltk (PyPI): upgrade to 3.10.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-12075 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-12075?
Check whether you run nltk (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • nltk (PyPI): upgrade to 3.10.0 or later
    pip install "nltk>=3.10.0"

Technical details

A DNS-rebinding vulnerability exists in `nltk.pathsec.urlopen` (affecting `nltk.download` and `nltk.data.load`) due to a Time-of-Check to Time-of-Use (TOCTOU) flaw in hostname resolution. The `validate_network_url()` function resolves a hostname to verify it is not a private or loopback IP, but the subsequent call to `urllib` performs a second, independent resolution at connection time. An attacker using a DNS record with a Time-to-Live (TTL) of zero can provide a safe IP during validation and a malicious internal IP during the actual connection. This bypasses the `ENFORCE` security mode, enabling non-blind SSRF against internal services or cloud metadata endpoints (e.g., IMDSv1). The issue is addressed in version 3.10.0.

Affected products

  • NLTK Project nltk <= 3.9.4

Identifiers

  • CVE-2026-12075
  • GHSA-qvv7-cg9c-w4x3
  • PYSEC-2026-3583

Timeline

  • 2026-06-11: disclosed
  • 2026-07-31: advisory
  • 2026-07-31: patched

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.