Read the docs

Cross-site scripting in SvelteKit prerendered pages via cache-control header

Priority LOW 11CWE-79Published · Updated

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

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00213 11th percentileScored 2026-11-07
Fix Fixed kit (sveltejs): 3.0.0@sveltejs/kit (npm): 3.0.0

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

VendorProductAffected versionsFixed inStatusSource
sveltejskitbefore 3.0.03.0.0Patch availableCNA
—@sveltejs/kit (npm)before 3.0.03.0.0Patch availableGHSA-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

  1. 2026-10-21 Threatist record created from CVE-2026-114061
  2. 2026-10-23 Alias added: GHSA-27mw-82g8-phjj
  3. 2026-10-23 Fix available: npm/@sveltejs/[email protected] · GHSA-27mw-82g8-phjj
  4. 2026-10-23 CVSS score added · GHSA-27mw-82g8-phjj
  5. 2026-10-23 Weakness changed · GHSA-27mw-82g8-phjj
  6. 2026-10-23 5 new references · GHSA-27mw-82g8-phjj
  7. 2026-10-28 CISA SSVC decision points changed

References

  • 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
See all 50 →

Sources