CVE-2026-63310: Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.

CVE-2026-63310 · Severity: high · CVSS 7.1 · Published 2026-08-22

NLTK is a widely-used Python library for natural language processing that automatically downloads language data packages. The library fails to verify that downloaded packages haven't been tampered with before extracting and using them. An attacker could intercept downloads via network interception or DNS poisoning to inject malicious code that would be automatically extracted and executed, compromising any system using the affected NLTK versions.

Technologies: nltk (PyPI). Vendors: PyPI.

Quick answers

Is CVE-2026-63310 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-63310 being exploited in the wild.
How severe is CVE-2026-63310?
High severity, with a CVSS score of 7.1, published 22 August 2026.
Which products and versions are affected?
nltk (PyPI) <= 3.9.2.
Is there a fix for CVE-2026-63310?
A patch was published on 2026-08-22: NLTK 3.9.3 includes integrity verification fix Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-63310 attacked?
It is attacked over the network.
Am I affected by CVE-2026-63310?
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.

Technical details

NLTK's downloader module (nltk/downloader.py) downloads packages to a temporary file, moves the file to its final location via os.replace(), and then immediately begins extraction via _unzip_iter(). However, there is no integrity verification step between the move and extraction. Although checksum validation logic exists in _pkg_status(), it is only invoked before download as a status check and never used to verify the downloaded file. The vulnerability enables multiple attack vectors: HTTP man-in-the-middle attacks (NLTK defaults to HTTP on some mirrors), race conditions on shared filesystems, and DNS poisoning. The fix involves computing and verifying the SHA-256 hash of the downloaded file against the expected checksum from the package index before extraction. NLTK 3.9.3 and later include this integrity check. This vulnerability is distinct from prior pickle deserialization and zip-slip vulnerabilities, as it addresses the gap before extraction rather than after.

Affected products

  • NLTK NLTK <= 3.9.2

Identifiers

  • CVE-2026-63310
  • GHSA-gf32-cmjh-8m9v

Timeline

  • 2026-08-22: disclosed
  • 2026-08-22: patched: NLTK 3.9.3 includes integrity verification fix

References

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