CVE-2026-9358 postcss-selector-parser AST Serialization container.js toString recursion
Remote attackers can cause denial of service via uncontrolled recursion in postcss-selector-parser's AST serialization, requiring an upgrade to fix.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2026-9358?
CVE-2026-9358 is a medium-severity denial of service vulnerability in postcss-selector-parser, published on 24 May 2026. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.
Official description
A vulnerability was determined in postcss-selector-parser up to 6.1.2/7.1.2. Affected is the function toString of the file src/selectors/container.js of the component AST Serialization. Executing a manipulation can lead to uncontrolled recursion. It is possible to launch the attack remotely. The exploit has been publicly disclosed and may be utilized. Upgrading to version 6.1.3 and 7.1.3 is able to address this issue. This patch is called 5bc698cef66f8abd12610dc623e5d67cbc0f869d. It is suggested to upgrade the affected component. The vendor explains, that according to his definition "DoS on server-side on user-generated CSS is low risk for us (since most users compile own CSS with PostCSS)." The commits were backported to 6.x branch, which was the most downloaded version.
Which versions are affected by CVE-2026-9358?
4 open source packages ship an affected version, including postcss-selector-parser.
| Package | Affected | Fixed in |
|---|---|---|
postcss-selector-parser npm | From 6.1.0 | 6.1.3 |
postcss-selector-parser npm | From 6.1.0 | 6.1.3 |
postcss-selector-parser npm | From 7.1.0 | 7.1.3 |
postcss-selector-parser npm | From 7.1.0 | 7.1.3 |
How do I fix CVE-2026-9358?
Upgrade postcss-selector-parser to a fixed version for your release line: 6.1.3 or 7.1.3.
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-9358 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-9358 exists.
Sources
Also known as CLEANSTART-2026-IM94459, CLEANSTART-2026-RL61109, CLEANSTART-2026-YG53866, DEBIAN-CVE-2026-9358, GHSA-w9m9-85wc-3x92, MINI-2mpc-j838-xg3w and 10 more.