NLTK before 3.10.0 ReDoS via Text.findall() unvalidated regex
NLTK versions before 3.10.0 contain a regular expression denial of service vulnerability in Text.findall() and TokenSearcher.findall() methods that accept user-supplied regular expressions without validation or timeout. Attackers can supply crafted regex patterns that cause catastrophic backtracking, resulting in indefinite CPU saturation and denial of service to all users of the Python process.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-80205
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 15:14 UTC · Revision 1
Source evidence
NLTK before 3.10.0 ReDoS via Text.findall() unvalidated regex
core-osv · Original sourcePublished 26 Aug 2026, 10:28 UTC
NLTK versions before 3.10.0 contain a regular expression denial of service vulnerability in Text.findall() and TokenSearcher.findall() methods that accept user-supplied regular expressions without validation or timeout. Attackers can supply crafted regex patterns that cause catastrophic backtracking, resulting in indefinite CPU saturation and denial of service to all users of the Python process.
osv:CVE-2026-80205
Complete source record
{
"id": "1bf50f7ff03c9d4ea5dee135ad19e6238be513b028eca3ebb0dfb011a437a5ea",
"url": "https://osv.dev/vulnerability/CVE-2026-80205",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "NLTK before 3.10.0 ReDoS via Text.findall() unvalidated regex",
"summary": "NLTK versions before 3.10.0 contain a regular expression denial of service vulnerability in Text.findall() and TokenSearcher.findall() methods that accept user-supplied regular expressions without validation or timeout. Attackers can supply crafted regex patterns that cause catastrophic backtracking, resulting in indefinite CPU saturation and denial of service to all users of the Python process.",
"evidence": "osv:CVE-2026-80205",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2026-80205",
"aliases": [
"CVE-2026-80205",
"GHSA-rrv8-h7p8-rx55",
"PYSEC-2026-3750"
],
"metrics": [
{
"type": "CVSS_V4",
"score": "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"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/nltk/nltk",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "bd49f9011d7dc8c6a36b3c4ae71f04060c9b3fb9"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "3.10.0"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StandardRange"
},
{
"cpe": "cpe:2.3:a:nltk:nltk:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "3.10.0"
}
],
"source": "CPE_RANGE"
}
]
}
}
],
"versions": [
"v3.10.0-rc1",
"3.9.4",
"3.9.3",
"v3.9.2",
"3.9.2",
"3.9.1",
"3.9",
"3.8.2",
"3.8.1",
"3.8",
"3.7",
"3.6.7",
"3.6.6",
"3.6.5",
"3.6.2",
"3.6.1",
"3.6",
"3.5",
"3.5b1",
"3.4.4",
"3.4.3",
"3.4.1",
"3.4",
"3.3",
"3.2.5",
"3.2.4",
"3.2.3",
"3.2.2",
"3.2.1",
"3.2",
"3.1",
"3.0.5",
"3.0.4",
"3.0.3",
"3.0.2",
"3.0.0b1",
"3.0a4",
"2.0.1rc4",
"2.0.1rc3",
"2.0.1rc2",
"2.0.1rc1"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-80205.json"
}
}
],
"modified": "2026-10-28T02:30:29.938354090Z",
"provider": "osv",
"references": [
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/80xxx/CVE-2026-80205.json",
"https://github.com/nltk/nltk/security/advisories/GHSA-rrv8-h7p8-rx55",
"https://nvd.nist.gov/vuln/detail/CVE-2026-80205",
"https://www.vulncheck.com/advisories/nltk-before-3.10.0-redos-via-text-findall-unvalidated-regex"
],
"provider_metadata": {
"cwe_ids": [
"CWE-1333"
],
"cna_assigner": "VulnCheck",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/80xxx/CVE-2026-80205.json"
}
},
"related_cves": [
{
"value": "CVE-2026-80205",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 496721,
"published_at": "2026-08-26T10:28:14.352+00:00"
}