CVE-2026-126190 json
Soup Sieve: Polynomial-time denial of service in the descendant combinator
published 10d ago modified yesterday also EUVD-2026-124549 , GHSA-mmhr-3c5m-f64f
- cvss
- 7.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.5%
- EPSS 0.5% chance of exploitation in 30 days, percentile 45%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- pypi soupsieve 4.0.0
Is CVE-2026-126190 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerCISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- partial
- Assessed
- yesterday
Exploit prediction
0.54% chance of exploitation in the next 30 days, higher than 45% of all scored CVEs (FIRST EPSS, 2026-11-14).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| GitHub | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | soupsieve | <4.0.0 |
4.0.0 |
Affected products
- facelessuser soupsieve
Classification
- Weakness
-
- CWE-407 Inefficient Algorithmic Complexity
References
-
github.com
/facelessuser/soupsieve/pull/351
web
-
github.com
/facelessuser/soupsieve/commit/ff1a5ce7e5addc31626d7b6053511fecdb4f6320
web
-
github.com
/facelessuser/soupsieve/security/advisories/GHSA-mmhr-3c5m-f64f
web, advisory
-
github.com
/facelessuser/soupsieve/releases/tag/4.0
web
-
nvd.nist.gov
/vuln/detail/CVE-2026-126190
advisory
-
github.com
/facelessuser/soupsieve
package
Sources
- CVE List CVE-2026-126190
- GitHub Advisory GHSA-mmhr-3c5m-f64f
- NVD CVE-2026-126190
- Maintainer advisory GHSA-mmhr-3c5m-f64f
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
The maintainers of facelessuser/soupsieve published their own advisory on GitHub. Reviewed sources take precedence over it.