# CVE-2026-49477: facelessuser soupsieve ReDoS in CSS selector parser

Source: https://junglewise.ai/threats/cve-2026-49477-facelessuser-soupsieve-redos-in-css-selector-parser  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-07-14. Updated: 2026-07-14  
License: CC BY 4.0 with a link back

CVE-2026-49477 · Severity: high · CVSS 7.5 · Published 2026-07-14

Soup Sieve, a CSS selector library commonly used with Beautiful Soup 4 for web scraping and data processing, is vulnerable to a denial-of-service attack. An attacker can provide a specially crafted CSS selector that causes the system's processor to become overwhelmed, leading to significant performance degradation or a complete service outage. This issue is particularly impactful for web applications or APIs that allow users to input their own CSS selectors for data filtering.

Technologies: [Facelessuser Soup Sieve](https://junglewise.ai/threats/technologies/soup-sieve), [soupsieve (PyPI)](https://junglewise.ai/threats/technologies/soupsieve). Vendors: [Facelessuser](https://junglewise.ai/threats/vendors/facelessuser), [PyPI](https://junglewise.ai/threats/vendors/pypi).

## Quick answers

**Is CVE-2026-49477 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-49477 being exploited in the wild.

**How severe is CVE-2026-49477?** High severity, with a CVSS score of 7.5, published 14 July 2026.

**Which products and versions are affected?** Facelessuser Soup Sieve < 2.8.4; soupsieve (PyPI) <= 2.8.3, ECOSYSTEM:introduced=0,fixed=2.8.4.

**Is there a fix for CVE-2026-49477?** Yes. soupsieve (PyPI): upgrade to 2.8.4 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-49477 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-49477?** Check whether you run Facelessuser Soup Sieve or soupsieve (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- soupsieve (PyPI): upgrade to 2.8.4 or later

  ```sh
  pip install "soupsieve>=2.8.4"
  ```


## Technical details

A Regular Expression Denial of Service (ReDoS) vulnerability exists in the `RE_VALUES` / `VALUE` regex pattern within `soupsieve/css_parser.py`. The vulnerability is triggered by catastrophic backtracking when the parser processes an attribute selector containing an unterminated quoted value (e.g., `[a="xxxx`). Because the regex engine attempts to match multiple overlapping alternation branches before failing, the processing time grows exponentially with the length of the input. A payload as small as 300 bytes can hang a thread for several seconds, allowing an unauthenticated remote attacker to exhaust server CPU resources. The issue is resolved in version 2.8.4 by fixing the inefficient attribute patterns.

## Affected products

- facelessuser soupsieve < 2.8.4

## Identifiers

- CVE-2026-49477
- GHSA-836r-79rf-4m37
- PYSEC-2026-3072

## Timeline

- 2026-05-24: patched: Version 2.8.4 released
- 2026-06-01: advisory: GitHub Security Advisory published
- 2026-07-14: disclosed: NVD publication date

## References

- [https://github.com/facelessuser/soupsieve/commit/eb4397618709186c109400448c6043b728217dc3](https://github.com/facelessuser/soupsieve/commit/eb4397618709186c109400448c6043b728217dc3)
- [https://github.com/facelessuser/soupsieve/releases/tag/2.8.4](https://github.com/facelessuser/soupsieve/releases/tag/2.8.4)
- [https://github.com/facelessuser/soupsieve/security/advisories/GHSA-836r-79rf-4m37](https://github.com/facelessuser/soupsieve/security/advisories/GHSA-836r-79rf-4m37)

## Related threats

- [Soup Sieve recursion error in CSS pseudo-class parsing](https://junglewise.ai/threats/cve-2026-126193-soup-sieve-is-a-css-selector-library-for-beautiful-soup-from-0-4)
- [Soup Sieve ReDoS via general sibling combinator in :has()](https://junglewise.ai/threats/cve-2026-126192-soup-sieve-is-a-css-selector-library-designed-to-be-used-with)
- [Soup Sieve CSS selector ReDoS via exponential backtracking](https://junglewise.ai/threats/cve-2026-126191-soup-sieve-is-a-css-selector-library-designed-to-be-used-with)
- [Soup Sieve polynomial DoS in descendant combinator matching](https://junglewise.ai/threats/cve-2026-126190-soup-sieve-is-a-css-selector-library-designed-to-be-used-with)
- [Soup Sieve quadratic ReDoS in CSS selector matching](https://junglewise.ai/threats/cve-2026-126189-soup-sieve-is-a-css-selector-library-designed-to-be-used-with)
