Your RSA-2048 keys break in 2030. Find every one of them before attackers do.
📦 npm
Not in CISA KEV

GHSA-f3cj-j4f6-wq85 — svelte

Fix: sveltejs/svelte@a16ebc6

GHSA-f3cj-j4f6-wq85 is a security vulnerability in svelte. A fix is available for svelte — see the affected versions and patch details below.

Svelte: SSR XSS via Insecure Promise Serialization in hydratable

Published
May 14, 2026
Updated
May 14, 2026
Affected
1 pkg
Patched
1 / 1
Exploits
None indexed
Exploitation data as of May 14, 2026 · OSV.dev, FIRST.org (EPSS)

Real-World Exposure

1 pkg affected

How broadly this vulnerability is actually deployed: weekly install volume shows current usage, and reverse-dependency count shows how many other packages break if it stays unpatched.

2Kother npm packages depend on this — each one inherits the vulnerability until it's patched upstream
sveltenpm
6.8Mdownloads / week

Description

Contents of hydratable promises were not properly stringified, potentially leading to an XSS exploit. You are vulnerable if all of the following is true:

  • you are using hydratable (an experimental feature at the time of this report)
  • you are passing attacker-controlled input such that a synchronous value is hydrated, then a promise value, e.g. hydratable('someKey', () => [synchronousValue, promiseValue])

Affected Packages

1 total 1 fixed
EcosystemPackageVulnerable rangeFix
📦npmsvelte≥ 5.46.0&&< 5.55.75.55.7npm install svelte@5.55.7

Detection & mitigation playbook

Open-source dependency
  1. Detect

    Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for svelte, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.

  2. Fix

    Update svelte to 5.55.7 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-f3cj-j4f6-wq85 is resolved across your whole dependency graph.

  3. Workarounds

    Escape or sanitise the affected output on the server side rather than relying on client-side filtering, and add a Content-Security-Policy that blocks inline script execution so injected markup cannot run even if it reaches the page.

  4. How O3 protects you

    O3 Security's impact-aware SCA analyses which vulnerable code paths your application actually calls, so a match like GHSA-f3cj-j4f6-wq85 can be triaged on real exposure rather than presence alone.

Tailored to GHSA-f3cj-j4f6-wq85. Runtime protection reduces exposure until a permanent patch is applied and verified — it complements patching, it doesn't replace it.

Frequently Asked Questions

Contents of `hydratable` promises were not properly stringified, potentially leading to an XSS exploit. You are vulnerable if all of the following is true: - you are using `hydratable` (an experimental feature at the time of this report) - you are passing attacker-controlled input such that a synchronous value is hydrated, then a promise value, e.g. `hydratable('someKey', () => [synchronousValue, promiseValue])`
O3 Security · Impact-Aware SCA

Is GHSA-f3cj-j4f6-wq85 in your dependencies?

O3 Security finds GHSA-f3cj-j4f6-wq85 across npm dependencies, including transitive ones, and its impact-aware SCA ranks findings by whether your code actually calls the vulnerable path.

GHSA-f3cj-j4f6-wq85: svelte XSS | O3 Security