Description
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.
Published: 2026-08-26
Score: 8.7 High
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

NLTK library versions earlier than 3.10.0 contain a regular expression denial of service (ReDoS) vulnerability (CWE-1333) in the Text.findall() and TokenSearcher.findall() methods. These methods accept arbitrary regular expressions supplied by the user without validation or a timeout. When an attacker supplies a complex or malicious regex pattern, the engine performs catastrophic backtracking, leading to prolonged or indefinite CPU usage and ultimately a denial of service for the entire Python process.

Affected Systems

Any deployment that includes the NLTK library before version 3.10.0 is affected. This includes Python scripts, web applications, data processing pipelines, or any service that utilizes NLTK’s Text module. All environments running Python with an impacted NLTK version are potentially vulnerable.

Risk and Exploitability

The CVSS score of 8.7 indicates high severity. No EPSS score is available, leaving exploitation probability uncertain. The vulnerability is not listed in the CISA KEV catalog. An attacker must supply a crafted regex; therefore the attack vector is local or any interface that feeds user‑controlled text into NLTK’s findall functionality. Because the flaw causes CPU exhaustion, compromising service availability is straightforward once a complex pattern is executed, but no privilege escalation occurs.

Generated by OpenCVE AI on August 26, 2026 at 11:50 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the NLTK library to version 3.10.0 or later to apply the official fix.
  • If an upgrade cannot be performed immediately, implement input validation to reject or sanitize complex regular expressions before they are passed to Text.findall() or TokenSearcher.findall().
  • As a temporary mitigation, execute NLTK regex operations in a separate process with CPU or time limits, or use a timeout wrapper to prevent excessive resource consumption.

Generated by OpenCVE AI on August 26, 2026 at 11:50 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 26 Aug 2026 10:30:00 +0000

Type Values Removed Values Added
Description 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.
Title NLTK before 3.10.0 ReDoS via Text.findall() unvalidated regex
First Time appeared Nltk
Nltk nltk
Weaknesses CWE-1333
CPEs cpe:2.3:a:nltk:nltk:*:*:*:*:*:*:*:*
Vendors & Products Nltk
Nltk nltk
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}

cvssV4_0

{'score': 8.7, 'vector': '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'}


cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-08-26T10:28:14.352Z

Reserved: 2026-08-25T23:15:39.155Z

Link: CVE-2026-80205

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-26T12:00:05Z

Weaknesses
  • CWE-1333

    Inefficient Regular Expression Complexity