Packages / svelte / Security

ModerateVulnerabilityGHSA-6738-r8g5-qwp3CVE-2025-15265Published 15 Jan 2026

svelte vulnerable to Cross-site Scripting

Affected releases · svelte

  • 5.x5.46.0 – 5.46.3Fixed in 5.46.4

On 5.x, the newest line:

npm install svelte@5.46.4
  1. Not affected

    0.0.1 – 5.45.10

    701 releases

  2. Affected

    5.46.0 – 5.46.3

    3 releases

  3. Fixed

    5.46.4 – 5.57.2

    64 releases, latest

768 stable releases of svelte, oldest to newest.

Is your project affected?

Paste your package.json, or type the range you declare for svelte. It is read in your browser and sent nowhere.

What happens

Summary

An XSS vulnerability exists in Svelte 5.46.0-2 resulting from improper escaping of hydratable keys. If these keys incorporate untrusted user input, arbitrary JavaScript can be injected into server-rendered HTML.

Details

When using the hydratable function, the first argument is used as a key to uniquely identify the data, such that the value is not regenerated in the browser.

This key is embedded into a <script> block in the server-rendered <head> without escaping unsafe characters. A malicious key can break out of the script context and inject arbitrary JavaScript into the HTML response.

Impact

This is a cross-site scripting vulnerability affecting applications that have the experimental.async flag enabled and use hydratable with keys incorporating untrusted user input.

  • Impact: Arbitrary JS execution in the client’s browser.

  • Exploitability: Remote, single-request if key is attacker-controlled.

  • Typical Outcomes:

    • Session/token theft

    • DOM defacement

    • CSRF bypass via injected JS

    • Account takeover depending on cookie/session strategy

Affected applications should upgrade to a patched version immediately.