Read the docs
TI-2026-51044 Aliases CVE-2026-72818GHSA-qx2g-xrx7-vfh8

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

Priority HIGH 77CWE-1333Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Attack requirements
None
Impact type
Denial of service
Confidentiality · integrity · availability
None · None · High
Fix status
Partial Red Hat: 3 without a fix

Attack profile from CVSS 4.0 · CNA. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-1333.

Summary

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.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00742 54th percentileScored 2026-11-07
Fix Partial nltk (nltk): 3.10.1nltk (PyPI): 3.10.1Red Hat: 3 without a fix

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
Yes
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
nltknltkbefore 3.10.13.10.1Patch availableCNA
—nltk (PyPI)before 3.10.13.10.1Patch availableGHSA-qx2g-xrx7-vfh8
  • nltk Vendornltk Affected before 3.10.1 Fixed in 3.10.1 Patch available CNA
  • nltk (PyPI) Vendor— Affected before 3.10.1 Fixed in 3.10.1 Patch available GHSA-qx2g-xrx7-vfh8

CPE names Threatist (inferred) · 1

Inferred from how NVD named this product before; not given by a source.

CPEVersionsRoleVendor
cpe:2.3:a:nltk:nltk:*:*:*:*:*:*:*:*——nltk
  • cpe:2.3:a:nltk:nltk:*:*:*:*:*:*:*:* Versions — — ·nltk

Remediation

  • Fix · CNA nltk (nltk) Fixed in 3.10.1
  • Fix · GHSA-qx2g-xrx7-vfh8 nltk (PyPI) Fixed in 3.10.1 Advisory →

Vendor assessments

Red Hat

Red Hat rating: Important. Red Hat's page for this CVE →

ProductStatusPlan or fix
Lightspeed CoreAffectedNo fix yet
OpenShift LightspeedAffectedNo fix yet
Red Hat Ansible Automation Platform 2AffectedNo fix planned: Will not fix
Not affected: 3 products
  • Exploit Intelligence
  • OpenShift Lightspeed
  • Red Hat OpenShift AI (RHOAI)

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-72818
  2. 2026-10-03 Alias added: GHSA-qx2g-xrx7-vfh8

References

  • TI-2026-00629 Arbitrary Code Execution in NLTK StanfordSegmenter via Untrusted JAR Loading CVSS 3.0CRITICAL 10.0
  • TI-2025-12800 Zip Slip Vulnerability in nltk/nltk Leading to Remote Code Execution CVSS 3.0CRITICAL 10.0
  • TI-2026-55173 NLTK before 3.10.3 JVM Argument Injection via Per-Call Options CVSS 4.0CRITICAL 9.3
  • TI-2026-55155 NLTK before 3.10.3 Remote Code Execution via Unsafe Pickle Deserialization CVSS 4.0CRITICAL 9.3
  • TI-2026-56370 nltk PorterStemmer before 3.10.3 Quadratic-time DoS CVSS 4.0HIGH 8.7
  • TI-2026-55172 NLTK 3.10.2 Path Traversal via corpus-reader constructors CVSS 4.0HIGH 8.8
See all 46 →

Sources