CVE-2026-126301 json
NLTK from 3.6 before 3.10.4 Quadratic CPU Exhaustion via LegalitySyllableTokenizer.tokenize
published 19d ago modified yesterday also EUVD-2026-125220 , GHSA-gpwc-27cw-rh9r
- cvss
- 5.3
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.5%
- EPSS 0.5% chance of exploitation in 30 days, percentile 44%
- public exploits
- 0
- none known
Summary
NLTK from 3.6 before 3.10.4 contains an algorithmic complexity vulnerability in LegalitySyllableTokenizer.tokenize that allows remote attackers to exhaust CPU by supplying long all-vowel tokens. Attackers can submit a token such as a long run of vowels, causing the unguarded onset reversal loop to perform quadratic work and deny service to syllabification components.
Patch / fix
- pypi nltk 3.10.4
- nltk nltk 3.10.4
- github.com/nltk/nltk@78781ba commit
- github.com/nltk/nltk@e20c40e commit
- github.com/nltk/nltk#3895 pull request
- github.com/nltk/nltk/releases/tag/v3.10.4 release
Is CVE-2026-126301 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerExploit prediction
0.51% chance of exploitation in the next 30 days, higher than 44% of all scored CVEs (FIRST EPSS, 2026-11-14).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 6.9 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N |
| CNA | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L |
| GitHub | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L |
| CNA | 4.0 | 6.9 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/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 |
| NVD | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | nltk | >=3.6, <3.10.4 |
3.10.4 |
Affected products
- nltk nltk
Classification
References
-
github.com
/nltk/nltk/pull/3895
web
-
github.com
/nltk/nltk/commit/78781ba4575d536fb1540897f27baca0fb40617c
web
-
github.com
/nltk/nltk/commit/e20c40e26ec9306de885703f6e53250695f1f49b
web
-
github.com
/nltk/nltk/security/advisories/GHSA-gpwc-27cw-rh9r
vendor-advisory, web, advisory
-
vulncheck.com
/advisories/nltk-from-3.6-before-3.10.4-quadratic-cpu-exhaustion-via-legalitysyllabletokenizer-tokenize
third-party-advisory, web
-
nvd.nist.gov
/vuln/detail/CVE-2026-126301
advisory
-
github.com
/nltk/nltk
package
-
github.com
/nltk/nltk/releases/tag/v3.10.4
web
Sources
- CVE List CVE-2026-126301
- GitHub Advisory GHSA-gpwc-27cw-rh9r
- NVD CVE-2026-126301
- Maintainer advisory GHSA-gpwc-27cw-rh9r
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
The maintainers of nltk/nltk published their own advisory on GitHub. Reviewed sources take precedence over it.