CVE-2026-126190 Soup Sieve: Polynomial-time denial of service in the descendant combinator
Deeply nested attacker-influenced HTML or XML can make selector matching consume excessive CPU in applications using Soup Sieve on untrusted documents.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Harmful if only installed
- No
- Needs a specific call
- Yes
- Fix
- Available
What is CVE-2026-126190?
CVE-2026-126190 is a high-severity denial of service vulnerability in facelessuser soupsieve, published on 12 Nov 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
Soup Sieve is a CSS selector library designed to be used with Beautiful Soup 4. Prior to 4.0, Soup Sieve repeatedly walks the same ancestors while matching descendant combinators, and each additional descendant combinator raises the polynomial degree of the work on deeply nested attacker-influenced HTML or XML. Applications using selectors such as section div div through select(), select_one(), or Beautiful Soup CSS APIs against untrusted documents can have a worker occupied for seconds or minutes, while trusted-only document processing is not affected. Selectors compiled with NOCACHE continue to use the old uncached behavior. This issue is fixed in version 4.0.
Weakness: CWE-407
Which versions are affected by CVE-2026-126190?
1 open source package ship an affected version, including soupsieve.
An affected version is only exploitable if your software calls select() or select_one(). Many projects that include it are not exposed.
| Package | Affected | Fixed in |
|---|---|---|
soupsieve PyPI | All versions | 4.0.0 |
How do I fix CVE-2026-126190?
Upgrade soupsieve to 4.0.0 or later.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2026-126190 being exploited?
There is no known exploitation of CVE-2026-126190 in the wild and no public exploit code.
Sources
Also known as GHSA-mmhr-3c5m-f64f.