Vulnerability · Published Aug 20, 2026 · Assigned by VulnCheck

CVE-2026-72818NLTK TweetTokenizer URL Pattern Backtracks Catastrophically on Naked-Domain-Like Input

High 7.5

In plain English

A high-severity regular-expression denial of service in nltk from nltk. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.7% (higher than 55% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)7.5High
Exploit odds (30 days)0.7%top 45.1% of all CVEs
Exploited in the wildNo reportsCISA SSVC: poc
Attack toolingNoneno public tooling known

Official description

The URLS regular expression in nltk/tokenize/casual.py, compiled into TweetTokenizer.WORD_RE and applied by TweetTokenizer.tokenize, contains a naked-domain branch whose domain-label prefix [a-z0-9]+(?:[.\-][a-z0-9]+)* is unbounded. Input consisting of many alternating label separators can be partitioned in exponentially many ways, and because the branch also requires a trailing top-level domain that such input never supplies, the engine explores those partitions before failing at each offset. A few kilobytes of input therefore consumes seconds to minutes of single-threaded CPU, and the HANG_RE substitution performed before matching does not collapse the pattern. TweetTokenizer is intended for tokenizing untrusted social-media text, so any service that applies it, or the module-level casual_tokenize, to submitted text can be stalled per request without authentication. Version 3.10.1 bounds the label repetition.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Debian:12nltkno fix listedDEBIAN-CVE-2026-72818
Debian:13nltkno fix listedDEBIAN-CVE-2026-72818
Debian:14nltk3.10.3-1DEBIAN-CVE-2026-72818
PyPInltk3.10.1GHSA-qx2g-xrx7-vfh8
PyPInltk3.10.1PYSEC-2026-3870
Ubuntu:26.10nltkno fix listedUBUNTU-CVE-2026-72818

Affected products (as reported)

VendorProductVersions
nltk nltk 0 – before 3.10.1

Weakness: CWE-1333 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

References