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.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-400",
"CWE-407"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/126xxx/CVE-2026-126192.json"
}{
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "2.10"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "ffb88cca745c591224f74a8e86414a85e8f35fc0"
}
],
"source": "REFERENCES_COMMIT"
},
{
"original_tag": "2.10",
"range": [
{
"fixed": "fc195cd50a6b9a00a86531ab6b9a2e59bd26f608"
}
],
"source": "REFERENCES_TAG"
}
]
}