CVE-2026-27901: Svelte XSS in SSR with contenteditable bind:innerText and bind:textContent

CVE-2026-27901 · Severity: medium · CVSS 4 · Published 2026-02-26

Svelte is a popular JavaScript framework for building interactive web applications. When using server-side rendering (SSR) with contenteditable elements, the framework failed to properly escape the initial values of bind:innerText and bind:textContent bindings, allowing attackers to inject malicious HTML and JavaScript code. An attacker who can control the data rendered as the binding's initial value could execute arbitrary code in users' browsers.

Technologies: svelte (npm). Vendors: npm.

Quick answers

Is CVE-2026-27901 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-27901 being exploited in the wild.
How severe is CVE-2026-27901?
Medium severity, with a CVSS score of 4, published 26 February 2026.
Which products and versions are affected?
svelte (npm) SEMVER:introduced=0,fixed=5.53.5.
Is there a fix for CVE-2026-27901?
Yes. svelte (npm): upgrade to 5.53.5 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-27901 attacked?
It is attacked over the network.
Am I affected by CVE-2026-27901?
Check whether you run svelte (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • svelte (npm): upgrade to 5.53.5 or later
    npm install svelte@5.53.5

Technical details

This vulnerability is a Cross-Site Scripting (XSS) issue (CWE-79) in Svelte's server-side rendering implementation. The root cause is improper escaping of user-supplied data when rendering contenteditable elements with bind:innerText and bind:textContent bindings. The attack vector is network-based and requires user interaction (passive) and specific attack prerequisites. During SSR, if untrusted data is used as the initial value for these bindings, the unescaped content is injected into the DOM as HTML rather than plain text, enabling HTML injection and XSS attacks. The vulnerability affects Svelte versions up to and including 5.53.4, and has been fixed in version 5.53.5.

Affected products

  • Svelte Svelte up to 5.53.4

Identifiers

  • CVE-2026-27901
  • GHSA-phwv-c562-gvmh

Timeline

  • 2026-02-26: disclosed
  • 2026-02-26: patched: Fixed in version 5.53.5

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.