CVE-2026-49476 Soup Sieve: Memory Exhaustion via Large Comma-Separated Selector Lists in soupsieve
Attackers can cause denial of service by supplying crafted CSS selector strings that trigger unbounded memory allocation in the soupsieve library.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-49476?
CVE-2026-49476 is a high-severity denial of service vulnerability in facelessuser soupsieve, published on 14 Jul 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
Soup Sieve is a CSS selector library designed to be used with Beautiful Soup 4. Prior to 2.8.4, the CSS selector parser in soupsieve allocates unbounded memory when compiling large comma-separated selector lists, allowing an attacker who can supply a crafted selector string to soupsieve.compile() or Beautiful Soup .select() / .select_one() to allocate hundreds of megabytes of heap memory from a relatively small input and cause denial of service. This issue is fixed in version 2.8.4.
Which versions are affected by CVE-2026-49476?
3 open source packages ship an affected version, including soupsieve. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
soupsieve PyPI | All versions | 2.8.4 |
soupsieve PyPI | All versions | 2.8.4 |
soupsieve PyPI | All versions | 2.8.4 |
Products include Facelessuser Soup Sieve.
How do I fix CVE-2026-49476?
Upgrade soupsieve to 2.8.4 or later.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2026-49476 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-49476 exists.
Other vulnerabilities in facelessuser soupsieve
Sources
Also known as CLEANSTART-2026-BV00323, DEBIAN-CVE-2026-49476, ECHO-c2b7-6171-92cf, GHSA-2wc2-fm75-p42x, MINI-h7x5-466j-47m5, MINI-hp7q-24qh-m8gg and 7 more.