Skip to content
OpenAdvisories
High · 7.5 CVE-2026-72818 EUVD-2026-63729GHSA-qx2g-xrx7-vfh8PYSEC-2026-3870

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

Published Aug 20, 2026 · Updated Sep 24, 2026 · Assigned by VulnCheck

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 products

VendorProductAffectedFixed
nltk nltk < 3.10.1 3.10.1

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 nltk 3.10.3-1 —
Debian 13 nltk No fix yet —
Debian 12 nltk No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 nltk No fix yet —
Show 7 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu Pro 26.04 LTS nltk No fix yet —
Ubuntu Pro 24.04 LTS nltk No fix yet —
Ubuntu Pro 22.04 LTS nltk No fix yet —
Ubuntu Pro 20.04 LTS nltk No fix yet —
Ubuntu Pro 18.04 LTS nltk No fix yet —
Ubuntu Pro 16.04 LTS nltk No fix yet —
Ubuntu Pro 14.04 LTS nltk No fix yet —

Wolfi

ReleasePackageFixed inAdvisory
Wolfi rolling open-webui 0.11.3-r1 —

Affected packages

EcosystemPackageAffectedFixedRecord
PyPI nltk < 3.10.1 3.10.1 GHSA-qx2g-xrx7-vfh8

References