Soup Sieve: Quadratic-time denial of service when matching `:has()`
Summary
| CVE | CVE-2026-126189 |
|---|---|
| State | PUBLISHED |
| Assigner | GitHub_M |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2026-11-12 17:17:32 UTC |
| Updated | 2026-11-12 19:09:06 UTC |
| Description | Soup Sieve is a CSS selector library designed to be used with Beautiful Soup 4. Prior to 4.0.1, Soup Sieve repeatedly searches descendant subtrees for each candidate evaluated by :has() and repeatedly reevaluates a parent containing :has(> ...) for each child, causing quadratic matching on deeply nested or wide attacker-influenced HTML or XML. Applications using ordinary fixed selectors through select(), select_one(), or Beautiful Soup CSS APIs against untrusted documents can have a worker occupied for seconds or minutes, while applications that process only trusted documents are not affected. Selectors compiled with NOCACHE continue to use the old uncached behavior. This issue is fixed in version 4.0.1. |
Risk And Classification
Primary CVSS: v3.1 5.3 MEDIUM from [email protected]
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Problem Types: CWE-407 | CWE-407 CWE-407: Inefficient Algorithmic Complexity
| Version | Source | Type | Score | Severity | Vector |
|---|---|---|---|---|---|
| 3.1 | [email protected] | Secondary | 5.3 | MEDIUM | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L |
| 3.1 | CNA | DECLARED | 5.3 | MEDIUM | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L |
CVSS v3.1 Breakdown
Attack Vector
NetworkAttack Complexity
LowPrivileges Required
NoneUser Interaction
NoneScope
UnchangedConfidentiality
NoneIntegrity
NoneAvailability
LowCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Vendor Declared Affected Products
| Source | Vendor | Product | Version | Platforms |
|---|---|---|---|---|
| CNA | Facelessuser | Soupsieve | affected < 4.0.1 | Not specified |
References
| Reference | Source | Link | Tags |
|---|---|---|---|
| github.com/facelessuser/soupsieve/security/advisories/GHSA-8jvp-3x96-xpqw | [email protected] | github.com | |
| github.com/facelessuser/soupsieve/commit/305fbf6b8c1f6ff05fec55d1e5bb28d... | [email protected] | github.com | |
| github.com/facelessuser/soupsieve/releases/tag/4.0.1 | [email protected] | github.com | |
| github.com/facelessuser/soupsieve/commit/0469c148f5501ec2127e0d65b77c2a1... | [email protected] | github.com | |
| github.com/facelessuser/soupsieve/pull/352 | [email protected] | github.com | |
| CVE Program record | CVE.ORG | www.cve.org | canonical |
| NVD vulnerability detail | NVD | nvd.nist.gov | canonical, analysis |
No vendor comments have been submitted for this CVE.
There are currently no legacy QID mappings associated with this CVE.