Approved changes feed: RSS · Atom

cpe:2.3:a:facelessuser:soupsieve:*:*:*:*:*:*:*:*

part: a version: * update: *

VendorFacelessuser (524b25a6-dd70-56cc-8b9d-0af5d68e96cb)
ProductSoupsieve (201c17b3-49b1-5249-9f67-a0204f1cde5a)
Edition*
Language*
Software edition*
Target software*
Target hardware*
Other*

Notes

Imported from gcve-enriched-dumps CVE data

PURL mappings

PURLSourceLast updated
No PURL mappings for this CPE yet.

Vulnerability references

IdentifiercpeApplicabilitySubmitteddb.gcve.eu detailsRationale
CVE:CVE-2026-85999 vulnerable 2026-10-13 12:28:54.135737 Soup Sieve: Polynomial-time ReDoS (O(n²)) in the whitespace/comment trimming regex `RE_WS_END` (triggers on VALID selectors)
MEDIUM (5.3)
Soup Sieve is a CSS selector library designed to be used with Beautiful Soup 4. Prior to 2.9, selector_iter in src/soupsieve/css_parser.py trims the raw selector with RE_WS_END, an end-anchored WSC whitespace-and-comment expression used with search(), so the regular expression engine retries a greedy scan at every starting offset. An attacker-controlled valid selector containing a long internal whitespace run, or a selector containing a long CSS comment run followed by another token, causes quadratic CPU work before tokenization. User-controlled selectors can reach the path through soupsieve.compile() and BeautifulSoup.select(), while applications using only hard-coded selectors are unaffected. This root cause is separate from the IDENTIFIER and VALUE backtracking vulnerability because the cost occurs in RE_WS_END.search during trimming rather than token matching. The resulting CPU consumption can hold the Python GIL, exhaust workers, and stall a service without causing memory corruption or code execution. The issue is fixed in version 2.9.
Published: 2026-09-17T15:23:37.457Z
Updated: 2026-09-22T20:29:44.838Z
Reference links
Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-86000 vulnerable 2026-10-13 12:28:46.207985 Soup Sieve: Polynomial-time ReDoS (O(n²)) in the `IDENTIFIER` / `VALUE` selector sub-patterns
MEDIUM (5.3)
Soup Sieve is a CSS selector library designed to be used with Beautiful Soup 4. Prior to 2.9, the selector parser in src/soupsieve/css_parser.py defines IDENTIFIER with adjacent quantified groups over overlapping character classes, and VALUE embeds IDENTIFIER for attribute selectors. When an attacker-controlled selector contains a long identifier or unquoted attribute-value run followed by input that makes the overall match fail, the regular expression engine explores quadratically many splits between the overlapping groups. User-controlled selectors can reach this path through soupsieve.compile(), soupsieve.select(), or BeautifulSoup.select(), while applications using only hard-coded selectors are unaffected. The resulting CPU consumption can hold the Python GIL, exhaust application workers, and stall a service; successful plain identifier matches are linear, and the issue does not cause memory corruption or code execution. The issue is fixed in version 2.9.
Published: 2026-09-17T15:21:57.724Z
Updated: 2026-09-17T15:45:49.251Z
Reference links
Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-49477 vulnerable 2026-07-29 00:57:45.472516 Soup Sieve: Regular Expression Denial of Service (ReDoS) in soupsieve Selector Parser
HIGH (7.5)
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 contains a regular expression vulnerable to catastrophic backtracking when processing an attribute selector with an unterminated quoted value in soupsieve/css_parser.py, allowing an attacker who can supply untrusted CSS selector strings to soupsieve.compile() or Beautiful Soup .select() / .select_one() to cause CPU exhaustion and denial of service. This issue is fixed in version 2.8.4.
Published: 2026-07-14T20:51:29.369Z
Updated: 2026-07-21T14:49:40.914Z
Reference links
Imported from gcve-enriched-dumps CVE data
CVE:CVE-2026-49476 vulnerable 2026-07-29 00:57:45.472042 Soup Sieve: Memory Exhaustion via Large Comma-Separated Selector Lists in soupsieve
HIGH (7.5)
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.
Published: 2026-07-14T20:53:12.497Z
Updated: 2026-07-15T14:27:06.146Z
Reference links
Imported from gcve-enriched-dumps CVE data

Contribute

You can submit an edit proposal for this CPE entry or suggest a related product/vendor addition using the action button above.

Inspect record JSON

Open JSON directly

Open this panel to browse, search, copy or download the JSON record.