SB2026080754 - Multiple vulnerabilities in Natural Language Toolkit
Published: August 7, 2026 Updated: September 14, 2026
Breakdown by Severity
- Low
- Medium
- High
- Critical
Description
This security bulletin contains information about 3 vulnerabilities.
1) Download of code without integrity check (CVE-ID: CVE-2026-63310)
CWE-ID: CWE-494 - Download of Code Without Integrity Check
CVSSv4: 8.8 [CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:H/VA:N/SC:N/SI:N/SA:N]
The vulnerability allows a remote attacker to inject malicious packages.
The vulnerability exists due to download of code without integrity check in the package downloader in nltk/downloader.py when downloading and extracting packages. A remote attacker can tamper with a downloaded package or supply a crafted package archive to inject malicious packages.
Exploitation may be possible via a man-in-the-middle attack during HTTP downloads, DNS poisoning to redirect requests to an attacker-controlled server, or a race condition on shared filesystems between file replacement and extraction.
2) Uncontrolled Recursion (CVE-ID: CVE-2026-12876)
CWE-ID: CWE-674 - Uncontrolled Recursion
CVSSv4: 8.7 [CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N]
The vulnerability allows a remote attacker to cause a denial of service.
The vulnerability exists due to uncontrolled recursion in RecursiveDescentParser and SteppingRecursiveDescentParser when parsing crafted ambiguous or left-recursive grammars. A remote attacker can provide a crafted grammar or input to cause a denial of service.
The issue can result in unbounded CPU consumption or exhaustion of the Python recursion stack, affecting availability of a single process.
3) Inefficient Algorithmic Complexity (CVE-ID: CVE-2026-81722)
CWE-ID: CWE-407 - Inefficient Algorithmic Complexity
CVSSv4: 8.7 [CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N]
The vulnerability allows a remote attacker to cause a denial of service.
The vulnerability exists due to inefficient algorithmic complexity in nltk.stem.PorterStemmer.stem() when processing a token containing a long run of the letter 'y' followed by a suffix such as 'ness'. A remote attacker can submit a specially crafted token to cause a denial of service.
The issue affects single-process availability only and does not impact confidentiality or integrity.
Remediation
Install update from vendor's website.