
CVE catalog
CVE-2026-81722
nltk PorterStemmer in versions <= 3.10.2 (fixed in 3.10.3) contains an inefficient-algorithmic-complexity denial of service in PorterStemmer.stem(). The _is_consonant() helper walks backward over the
- Severity
- High · CVSS 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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - Published
- Updated
- Source
- [NVD] · [CVE record]
- EPSS
- 0.52% · Oct 25, 2026
nltk PorterStemmer in versions <= 3.10.2 (fixed in 3.10.3) contains an inefficient-algorithmic-complexity denial of service in PorterStemmer.stem(). The _is_consonant() helper walks backward over the entire run of trailing 'y' characters on every call, and _measure() invokes it for each stem position, causing O(n^2) behavior. A single ~20-50 KB untrusted token consisting of a long run of the letter 'y' followed by a matching suffix (e.g., 'ness') can pin a CPU core for seconds to minutes, causing availability impact.
Vulnerable and fixed packages
Distribution-reported package versions and fixes. These do not depend on matching against the OpenFactory package catalog.
| Distribution | Package | Release | Version | Status |
|---|---|---|---|---|
| Debian | nltk | sid | 3.10.3-1 | fixed |
| Debian | nltk | forky | 3.10.3-1 | fixed |
| Debian | nltk | trixie | 3.9.1-2 | vulnerable |
| Debian | nltk | bookworm | 3.8-1 | vulnerable |
| Cpe | nltk | Not reported | 3.10.3 | fixed |
| PyPI | nltk | Not reported | 3.10.3 | fixed |
| PyPI | nltk | Not reported | 3.10.3 | fixed |
| Ubuntu | nltk | pro | 3.9.1-2 | vulnerable |
| Ubuntu | nltk | pro | 3.9.1-2build1 | vulnerable |
| Ubuntu | nltk | pro | 3.9.2-1 | vulnerable |
| Ubuntu | nltk | pro | 3.9.2-1ubuntu0.1~esm1 | vulnerable |
| Ubuntu | nltk | pro | 3.9.2-1ubuntu0.1~esm2 | vulnerable |
Fixed-version evidence
| Distribution | Package | Type | Release | Fixed version | Urgency | Origin | Bugs |
|---|---|---|---|---|---|---|---|
| Debian | nltk | source | sid | 3.10.3-1 | not yet assigned | Not reported | Not reported |
| Debian | nltk | source | forky | 3.10.3-1 | not yet assigned | Not reported | Not reported |
| Debian | nltk | source | trixie | (unfixed) | not yet assigned | Not reported | Not reported |
| Debian | nltk | source | bookworm | (unfixed) | not yet assigned | Not reported | Not reported |
| Cpe | nltk | cpe | Not reported | 3.10.3 | Not reported | NVD-CVE-2026-81722 | Not reported |
| PyPI | nltk | PyPI | Not reported | 3.10.3 | Not reported | PYSEC-2026-3738 | Not reported |
| PyPI | nltk | PyPI | Not reported | 3.10.3 | Not reported | GHSA-WW6M-CW3F-Q94G | Not reported |
Notes
[trixie] nltk: Minor issue [bookworm] nltk: Minor issue
OpenFactory catalog packages
[Debian 12 (Bookworm)]
- [python3-nltk]Affected
Source package: [nltk]
Details (2)
3.8-1· all · bookwormAffected
nvd · nltk · debian · bookworm; nvd · nltk · debian · 12
3.8-1· all · bookwormAffected
nvd · nltk · debian · bookworm; nvd · nltk · debian · 12
[Debian 13 (Trixie)]
- [python3-nltk]Affected
Source package: [nltk]
Details (2)
3.9.1-2· all · trixieAffected
nvd · nltk · debian · 13
3.9.1-2· all · trixieAffected
nvd · nltk · debian · 13
Observed:
References
- [https://nvd.nist.gov/vuln/detail/CVE-2026-81722]
- [https://osv.dev/vulnerability/DEBIAN-CVE-2026-81722]
- [https://osv.dev/vulnerability/GHSA-ww6m-cw3f-q94g]
- [https://osv.dev/vulnerability/UBUNTU-CVE-2026-81722]
- [https://security-tracker.debian.org/tracker/CVE-2026-81722]
- [https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-81722.json]
[Debian Security Tracker] · [FIRST EPSS] · [GitHub Advisory Database] · [National Vulnerability Database (NVD)] · [OSV Package Vulnerability Database] · [Red Hat security advisories and VEX]