CVE-2026-126192 · Package
NO FIX YET · SEE WHAT TO DO
Soup Sieve, a CSS selector library used with Beautiful Soup 4, does quadratic work when a developer-written selector places the general sibling combinator inside :has(). An attacker supplying HTML can tie up a worker for minutes with a small document.
first public Nov 4, 2026 · 1 source
Check it with your coding agent
It reads this page and tells you if your code or app is affected.
Applications that run a fixed selector containing :has() with the general sibling combinator (~) over HTML from untrusted sources can have a worker occupied for minutes by a small document. Trusted-only document processing and the adjacent sibling form (+) are described as not affected in the same way. unknown whether other selector shapes are affected.
Not affected if adjacent-sibling-only, no-has-selector, trusted-input-only
Who cares beautifulsoup, python, soupsieve
soupsieve in the lockfile or installed packages, for example pip show soupsieve.div:has(a ~ b) against untrusted markup.2.10 (fixed version named in the description).Soup Sieve is a CSS selector library designed to be used with Beautiful Soup 4. Prior to 2.10, matching a developer-authored selector that places the general sibling combinator inside :has() repeatedly scans each candidate element's following siblings when the right-hand side is absent, producing quadratic work on attacker-controlled HTML. Applications that evaluate a fixed selector such as div:has(a ~ b) over untrusted markup can have a worker occupied for minutes by a small document, while the adjacent sibling form and trusted-only document processing are not affected in the same way. This issue is fixed in version 2.10.
This page as ·
Are you affected?
Ask from here. InfraStack checks the affected versions against your stack and answers in your inbox.
InfraStack checks the affected versions against your stack and answers in Slack, with the evidence and the fix.
InfraStack checks it against your stack and answers on your report, with the evidence and the fix.
NVD data is provided by NIST and is public domain. Posts quoted belong to their authors.