# CVE-2026-80205: NLTK ReDoS in Text.findall via unvalidated regex

Source: https://junglewise.ai/threats/cve-2026-80205-nltk-redos-in-text-findall-via-unvalidated-regex  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-08-26. Updated: 2026-09-25  
License: CC BY 4.0 with a link back

CVE-2026-80205 · Severity: high · CVSS 7.5 · Published 2026-08-26

NLTK is a popular natural language processing library used to analyze and manipulate text data. The Text.findall() method, which searches for patterns in tokenized text, accepts user-supplied regular expressions but runs them without timeout protection or validation. An attacker can submit a specially crafted regex pattern that triggers catastrophic backtracking, consuming 100% CPU indefinitely and preventing legitimate users from accessing the application.

Technologies: [nltk (PyPI)](https://junglewise.ai/threats/technologies/nltk). Vendors: [PyPI](https://junglewise.ai/threats/vendors/pypi).

## Quick answers

**Is CVE-2026-80205 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-80205 being exploited in the wild.

**How severe is CVE-2026-80205?** High severity, with a CVSS score of 7.5, published 26 August 2026.

**Which products and versions are affected?** nltk (PyPI) <= 3.9.4, ECOSYSTEM:introduced=0,fixed=3.10.0.

**Is there a fix for CVE-2026-80205?** Yes. nltk (PyPI): upgrade to 3.10.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-80205 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-80205?** Check whether you run nltk (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- nltk (PyPI): upgrade to 3.10.0 or later

  ```sh
  pip install "nltk>=3.10.0"
  ```


## Technical details

The vulnerability is a Regular Expression Denial of Service (ReDoS) in nltk/text.py, specifically in the TokenSearcher.findall() (line 255) and Text.findall() (line 620) methods. The code preprocesses user-supplied regexes by transforming angle brackets and whitespace, but does not validate or reject patterns prone to exponential backtracking. When re.findall() executes the preprocessed regex against the internal token string, a malicious pattern like ((a+)+)b can cause catastrophic backtracking if the input contains no match, forcing the Python regex engine to explore exponentially many paths. This requires no authentication or user interaction; an unauthenticated attacker can trigger the denial of service with a single network request. The patch was released in version 3.10.0 (commit d8e4753), and affected versions are &lt;= 3.9.4.

## Affected products

- NLTK Project NLTK <= 3.9.4

## Identifiers

- CVE-2026-80205
- GHSA-rrv8-h7p8-rx55
- PYSEC-2026-3750

## Timeline

- 2026-08-12: disclosed: Published to GitHub Advisory Database
- 2026-09-08: advisory: GHSA-rrv8-h7p8-rx55 and CVE-2026-80205 published
- 2026-09-08: patched: Fix available in version 3.10.0

## References

- [https://api.github.com/users/infycore](https://api.github.com/users/infycore)
- [https://github.com/infycore](https://github.com/infycore)
- [https://api.github.com/users/infycore/gists%7B/gist_id%7D](https://api.github.com/users/infycore/gists%7B/gist_id%7D)
- [https://api.github.com/users/infycore/repos](https://api.github.com/users/infycore/repos)
- [https://avatars.githubusercontent.com/u/230860773?v=4](https://avatars.githubusercontent.com/u/230860773?v=4)
- [https://api.github.com/users/infycore/events%7B/privacy%7D](https://api.github.com/users/infycore/events%7B/privacy%7D)

## Related threats

- [NLTK WekaClassifier path traversal in model validation](https://junglewise.ai/threats/cve-2026-109956-nltk-through-3-10-3-contains-a-path-traversal-vulnerability-in)
- [NLTK RecursiveDescentParser uncontrolled recursion denial of service](https://junglewise.ai/threats/cve-2026-12876-nltk-recursivedescentparser-uncontrolled-recursion-denial-of)
- [NLTK tgrep regular expression denial of service](https://junglewise.ai/threats/nltk-tgrep-regular-expression-denial-of-service-02fca1b2)
- [NLTK Downloader hardlink filesystem containment bypass](https://junglewise.ai/threats/nltk-downloader-hardlink-filesystem-containment-bypass-522cb97d)
- [NLTK Pl196xCorpusReader quadratic ReDoS on malformed TEI blocks](https://junglewise.ai/threats/nltk-pl196xcorpusreader-quadratic-redos-on-malformed-tei-blocks-8473e6ef)
