Cross-site scripting in SvelteKit prerendered pages via cache-control header
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- Passive
- Attack complexity
- Low
- Attack requirements
- Present
- Impact type
- Cross-site scripting
- Confidentiality · integrity · availability
- None · None · None
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub. Impact type from CWE-79.
Summary
SvelteKit (@sveltejs/kit) before 3.0.0 contains a cross-site scripting flaw in prerendered pages, where a cache-control header value set via setHeaders is inserted into a meta http-equiv cache-control tag without escaping (CWE-79). An attacker who can influence that untrusted value at prerender time can break out of the content attribute and inject HTML or JavaScript that runs when users visit the page.
Written with Claude Haiku 5.5 from the sources below · 2026-10-28
Description from the CNA
SvelteKit (@sveltejs/kit) before 3.0.0 contains a cross-site scripting vulnerability in prerendered pages because a cache-control header value set via setHeaders is inserted without escaping into a <meta http-equiv="cache-control"> tag. An attacker who can influence that untrusted value at prerender time can break out of the content attribute and inject HTML or JavaScript that executes when users visit the page.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| sveltejs | kit | before 3.0.0 | 3.0.0 | Patch available | CNA |
| — | @sveltejs/kit (npm) | before 3.0.0 | 3.0.0 | Patch available | GHSA-27mw-82g8-phjj |
- kit Vendorsveltejs Affected before 3.0.0 Fixed in 3.0.0 Patch available CNA
- @sveltejs/kit (npm) Vendor— Affected before 3.0.0 Fixed in 3.0.0 Patch available GHSA-27mw-82g8-phjj
Remediation
Upgrade SvelteKit (@sveltejs/kit) to version 3.0.0, which fixes the flaw.
Written with Claude Haiku 5.5 from the sources below · 2026-10-28
- Fix · CNA kit (sveltejs) Fixed in 3.0.0
- Fix · GHSA-27mw-82g8-phjj @sveltejs/kit (npm) Fixed in 3.0.0 Advisory →
Fixed in the same release
Records fixed by the same vendor advisory or release, as the CNA lists them.
- Release ·
sveltejs kit 3.0.0
4 records Highest priority Priority MEDIUM 1 MEDIUM, 3 LOW
Other records, highest priority first
- TI-2026-78676 Path traversal in SvelteKit vite preview on Windows exposes filesPriority MEDIUM 44
- TI-2026-78675 Server-side request forgery in SvelteKit self-fetch fallbacksPriority LOW 36
- TI-2026-78673 Open redirect in SvelteKit enhanced form actionsPriority LOW 11
Timeline
- 2026-10-21 Threatist record created from CVE-2026-114061
- 2026-10-23 Alias added: GHSA-27mw-82g8-phjj
- 2026-10-23 Fix available: npm/@sveltejs/[email protected] · GHSA-27mw-82g8-phjj
- 2026-10-23 CVSS score added · GHSA-27mw-82g8-phjj
- 2026-10-23 Weakness changed · GHSA-27mw-82g8-phjj
- 2026-10-23 5 new references · GHSA-27mw-82g8-phjj
- 2026-10-28 CISA SSVC decision points changed
References
More sveltejs vulnerabilities
- TI-2023-13469 SvelteKit framework has Insufficient CSRF protection for CORS requests CVSS 3.1HIGH 8.8
- TI-2023-13464 SvelteKit has Insufficient Cross-Site Request Forgery Protection CVSS 3.1HIGH 8.8
- TI-2024-15660 Sending a GET or HEAD request with a body crashes SvelteKit CVSS 3.1HIGH 7.5
- TI-2024-30159 Potential mXSS vulnerability due to improper HTML escaping in svelte CVSS 3.1MEDIUM 6.1
- TI-2025-23466 SvelteKit allows XSS via tracked search_params CVSS 3.1MEDIUM 5.4
- TI-2025-13940 Svelte 5.46.0 - Hydratable Key Script-Breakout XSS (SSR) CVSS 4.0MEDIUM 5.3
Sources
- CVE-2026-114061 · CVE Program
- CVE-2026-114061 · NVD
- FIRST EPSS
- GHSA-27mw-82g8-phjj · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences