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
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| 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.
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| 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
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Wolfi rolling | datadog-agent-7.81-core-integrations | 7.81.3-r20 | — |
| Wolfi rolling | open-webui +3 | No fix yet | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| PyPI | soupsieve | < 4.0.0 | 4.0.0 | GHSA-mmhr-3c5m-f64f |