Skip to content
OpenAdvisories
High · 7.5 CVE-2026-126190 EUVD-2026-124549GHSA-mmhr-3c5m-f64f

Soup Sieve: Polynomial-time denial of service in the descendant combinator

Published Nov 12, 2026 · Updated Nov 13, 2026 · Assigned by GitHub_M

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.

Affected products

VendorProductAffectedFixed
facelessuser soupsieve < 4.0 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Ubuntu 26.10 soupsieve No fix yet —
Ubuntu 26.04 LTS soupsieve No fix yet —
Ubuntu 24.04 LTS soupsieve No fix yet —
Ubuntu 22.04 LTS soupsieve No fix yet —
Ubuntu 20.04 LTS soupsieve No fix yet —

Wolfi

ReleasePackageFixed inAdvisory
Wolfi rolling datadog-agent-7.81-core-integrations 7.81.3-r20 —
Wolfi rolling open-webui +3 No fix yet —

Affected packages

EcosystemPackageAffectedFixedRecord
PyPI soupsieve < 4.0.0 4.0.0 GHSA-mmhr-3c5m-f64f

References