CVE-2026-126191

Soup Sieve: Exponential ReDoS in selector compilation via \9-run in CSS_ESCAPES/IDENTIFIER

  • High 7.5

Description

Soup Sieve is a CSS selector library designed to be used with Beautiful Soup 4. Prior to 3.0, the CSS_ESCAPES and IDENTIFIER regular-expression subpatterns can backtrack exponentially on runs of ambiguous digit escapes in an attribute-name or tag position of an otherwise valid selector. The failure occurs during selector compilation through soupsieve.compile() or Beautiful Soup select() before SELECTOR_LIMIT is applied, so an application that accepts untrusted selector strings can have a worker stalled by a short input. This issue is fixed in version 3.0.

Key facts

Published
12 Nov 2026
Last changed
13 Nov 2026
Assigned by
GitHub_M
EPSS
0.434% likely to be exploited in the next 30 days, higher than 38.232% of CVEs (scores for 15 Nov 2026)
SSVC (CISA)
Exploitation: poc; Automatable: yes; Technical impact: partial

Severity scores

Each score is shown as its source gave it. They are not averaged or merged.

  • 7.5CVSS 3.1, Highfrom the CNA (GitHub_M)CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Historical context and remediation

This reference retains the original CVE publication date. A recent record update does not mean a new attack occurred.

No separately sourced impact summary is available on this page yet. Consult the description, version data and dated exploitation evidence.

No explicit remediation statement is available on this page yet. Consult the original record and vendor references before choosing a fix.

Version statuses below come from the CNA. An “unaffected” version is not necessarily a currently supported release or proof of a patch date. EPSS is a dated risk estimate, not a count of historical attacks.

Read the original CVE record.

Affected products

VendorProductVersions
facelessusersoupsieve
  • < 3.0 (affected)

Timeline

  1. 12 Nov 2026 Published

Weakness

References