Cloudanix VulnDB

CVE-2026-49476

High · 7.5

CVSS

7.5

EPSS

0.6%

Published

Jul 14, 2026

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A bug in a library that reads web page styles can let attackers crash systems by feeding it specially formatted instructions, interrupting services until the software is updated.

Exploit Available
Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Denial Of Service
Component
Library
Class
Denial of service
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The CSS selector parser allocates unbounded heap memory when processing large comma-separated selector lists supplied to compile() or select()/select_one(), exhausting resources and causing denial of service.

Why it matters to the business

Attackers can remotely disrupt availability of applications that parse untrusted CSS selectors, leading to service outages and degraded performance with minimal attacker effort; the issue affects Red Hat packages with a specific fix available.

How an attack unfolds

An attacker crafts a small selector string containing thousands of comma-separated selectors and passes it to soupsieve.compile() or Beautiful Soup .select() methods; the parser allocates hundreds of megabytes per list entry until memory pressure triggers denial of service. Public exploit code exists and the flaw has been available for over three months.

How to fix it

Upgrade soupsieve to version 2.8.4 or later. For Red Hat systems running python-rpds-py-main, apply the package update to 2026.6.3-1.hum1 (RHSA-2026:34119) or newer.

How to confirm the fix worked

Confirm the installed soupsieve version is 2.8.4 or higher; test compilation of a large comma-separated selector list and verify memory usage remains bounded.

Typical attack path

  1. Identify an application endpoint or API that accepts user-controlled CSS selector strings
  2. Craft a compact payload consisting of a long comma-separated selector list
  3. Submit the payload via soupsieve.compile() or Beautiful Soup .select()/select_one() calls
  4. Observe repeated large memory allocations leading to OOM or severe slowdown

How to detect it

Review application logs and process monitors for sudden spikes in memory consumption coinciding with selector parsing calls; inspect request logs for unusually long comma-delimited strings passed to selector methods.

What your security team should do

  • Immediately upgrade affected Red Hat packages to the listed fixed version
  • Add input-size limits or sanitization around any user-supplied selector strings
  • Monitor memory usage and process restarts on services using Beautiful Soup or soupsieve
  • Review dependency trees for downstream consumers of the vulnerable library

The record

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.

Affected packages

Ecosystem Package Introduced Fixed

Related vulnerabilities