CVE-2026-85999
CVE-2026-85999 · Soup Sieve: Polynomial-time ReDoS (O(n²)) in the whitespace/comment trimming regex `RE_WS_END` (triggers on VALID selectors)
Cette page présente des faits issus de sources publiques. Consultez l’avis original avant toute mise à jour.
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.
CVSS 5.3 · Moyenne · EPSS 0,6% · Correctif disponible
- Publication
- Mise à jour
Pile logicielle: system · python
Produits et versions concernés
soupsieve
- Versions du logiciel
- < 2.9: Concernée
Aucun correctif publié
soupsieve Debian:12
- Versions du logiciel
- 2.3.2-1
- 2.4-1
- 2.4.1-1
- 2.4.1-2
- 2.5-1
- 2.6-1
- 2.7-1
- 2.7-2
- 2.8.1-1
- 2.8.3-1
- 2.8.4-1
- Plages de versions concernées
- ECOSYSTEM: (−∞, +∞)
Aucun correctif publié
soupsieve Debian:13
- Versions du logiciel
- 2.7-1
- 2.7-2
- 2.8.1-1
- 2.8.3-1
- 2.8.4-1
- Plages de versions concernées
- ECOSYSTEM: (−∞, +∞)
Aucun correctif publié
soupsieve Debian:14
- Versions du logiciel
- 2.7-1
- 2.7-2
- 2.8.1-1
- 2.8.3-1
- 2.8.4-1
- Plages de versions concernées
- ECOSYSTEM: (−∞, +∞)
Aucun correctif publié
soupsieve PyPI
- Versions du logiciel
- 0.4
- 0.5
- 0.5.1
- 0.5.2
- 0.5.3
- 0.6
- 1.0
- 1.0.1
- 1.0.2
- 1.0b1
- 1.0b2
- 1.1
- 1.2
- 1.2.1
- 1.3
- 1.3.1
- 1.4
- 1.5
- 1.6
- 1.6.1
- 1.6.2
- 1.7
- 1.7.1
- 1.7.2
- 1.7.3
- 1.8
- 1.9
- 1.9.1
- 1.9.2
- 1.9.3
- 1.9.4
- 1.9.5
- 1.9.6
- 2.0
- 2.0.1
- 2.1
- 2.2
- 2.2.1
- 2.3
- 2.3.1
- 2.3.2
- 2.3.2.post1
- 2.4
- 2.4.1
- 2.5
- 2.6
- 2.7
- 2.8
- 2.8.1
- 2.8.2
- 2.8.3
- 2.8.4
- Plages de versions concernées
- ECOSYSTEM: < 2.9.0
Mettez à jour vers 2.9.0
soupsieve Ubuntu:20.04:LTS
- Versions du logiciel
- 1.9.2+dfsg-2ubuntu1
- 1.9.4+dfsg-1
- 1.9.5+dfsg-1
- Plages de versions concernées
- ECOSYSTEM: (−∞, +∞)
Aucun correctif publié
soupsieve Ubuntu:22.04:LTS
- Versions du logiciel
- 2.2.1-2
- 2.3-1
- 2.3.1-1
- Plages de versions concernées
- ECOSYSTEM: (−∞, +∞)
Aucun correctif publié
soupsieve Ubuntu:24.04:LTS
- Versions du logiciel
- 2.4.1-2
- 2.5-1
- Plages de versions concernées
- ECOSYSTEM: (−∞, +∞)
Aucun correctif publié
soupsieve Ubuntu:26.10
- Versions du logiciel
- 2.8.3-1
- 2.8.4-1
- Plages de versions concernées
- ECOSYSTEM: (−∞, +∞)
Aucun correctif publié
soupsieve Ubuntu:26.04:LTS
- Versions du logiciel
- 2.7-2
- 2.8.1-1
- 2.8.3-1
- Plages de versions concernées
- ECOSYSTEM: (−∞, +∞)
Aucun correctif publié