GHSA-f3cj-j4f6-wq85 Svelte: SSR XSS via Insecure Promise Serialization in hydratable

Not scored Published

An XSS vulnerability in Svelte's experimental hydratable feature allows attackers to execute scripts if attacker-controlled input is passed to promise serialization.

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 GHSA-f3cj-j4f6-wq85?

GHSA-f3cj-j4f6-wq85 is a cross-site scripting vulnerability in svelte, published on 14 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

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])

Which versions are affected by GHSA-f3cj-j4f6-wq85?

2 open source packages ship an affected version, including svelte.

PackageAffectedFixed in
svelte npmFrom 5.46.05.55.7
svelte npmFrom 5.46.05.55.7

How do I fix GHSA-f3cj-j4f6-wq85?

Upgrade svelte to 5.55.7 or later.

Escape output for the context it lands in and set a strict Content Security Policy. Upgrading the affected component is the real fix. More about Cross-site scripting.

Is GHSA-f3cj-j4f6-wq85 being exploited?

There is no known exploitation of GHSA-f3cj-j4f6-wq85 in the wild and no public exploit code.

Sources

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

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free