Packages / solid-js / Security
HighVulnerabilityGHSA-3qxh-p7jc-5xh6CVE-2025-27109Published 25 Feb 2025
Solid Lacks Escaping of HTML in JSX Fragments allows for Cross-Site Scripting (XSS)
Affected releases · solid-js
- 1.x1.0.0 – 1.9.3Fixed in 1.9.4
- 0.26.x and older0.0.1 – 0.26.5No fix, no longer updated
On 1.x, the newest line:
npm install solid-js@1.9.41.x
Affected
1.0.0 – 1.9.3
118 releases
Fixed
1.9.4 – 1.9.17
14 releases, latest
0.x
Affected
0.0.1 – 0.26.5
203 releases
Is your project affected?
Paste your package.json, or type the range you declare for solid-js. It is read in your browser and sent nowhere.
What happens
Inserts/JSX expressions inside illegal inlined JSX fragments lacked escaping, allowing user input to be rendered as HTML when put directly inside JSX fragments.
For instance, ?text=<svg/onload=alert(1)> would trigger XSS here.
const [text] = createResource(() => {
return new URL(getRequestEvent().request.url).searchParams.get("text");
});
return (
<>
Text: {text()}
</>
);