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.4
1.x
  1. Affected

    1.0.0 – 1.9.3

    118 releases

  2. Fixed

    1.9.4 – 1.9.17

    14 releases, latest

0.x
  1. Affected

    0.0.1 – 0.26.5

    203 releases

335 stable releases of solid-js, oldest to newest, one row per major.

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()}
    </>
  );