svelte is vulnerable to XSS with textarea bind:value
Date: 2026-01
Affected: npm/svelte
Attack vector: xss
Category: vulnerability-disclosure
Severity: High
CWE: CWE-79

### Summary A server-side rendered `<textarea>` with two-way bound value does not have its value correctly escaped in the rendered HTML. ### Details In SSR, `<textarea bind:value={...}>` does not have its value escaped when it is rendered into the HTML as `<textarea>...</textarea>`. ### PoC Put this in a server-side-rendered Svelte component: ``` <script> let value = `test'"></textarea><script` + `>alert('BIM');</sc` + `ript>`; </script> <textarea bind:value /> ``` ### Impact - Only affects SSR - Needs a `<textarea bind:value>` filled by user content via two-way binding


Mitigations:

Architectural layers (MAESTRO):