---
id: CVE-2026-114061
aliases:
  - GHSA-27mw-82g8-phjj
title: 'SvelteKit : XSS via untrusted cache-control header in prerendered page'
summary: 'SvelteKit : XSS via untrusted cache-control header in prerendered page'
severity: low
cvss: 4.7
cwe:
  - CWE-79
vendor: sveltejs
product: '@sveltejs/kit'
ecosystem: npm
affected:
  - '@sveltejs/kit < 3.0.0'
patched:
  - '@sveltejs/kit 3.0.0'
published: '2026-10-23'
updated: '2026-10-23'
sourceUpdated: '2026-10-23T20:43:31Z'
source: GHSA
sourceUrl: 'https://github.com/advisories/GHSA-27mw-82g8-phjj'
references:
  - url: 'https://github.com/sveltejs/kit/security/advisories/GHSA-27mw-82g8-phjj'
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-114061'
  - url: >-
      https://github.com/sveltejs/kit/commit/d9d55b579743c80ee7cb59c272d864fd9253dae7
  - url: 'https://github.com/sveltejs/kit/releases/tag/@sveltejs/kit@3.0.0'
  - url: >-
      https://www.vulncheck.com/advisories/sveltekit-before-3.0.0-xss-via-cache-control-header-in-prerendered-pages
  - url: 'https://github.com/advisories/GHSA-27mw-82g8-phjj'
tags:
  - ghsa
  - npm
  - cve.org
epss: 0.00213
epssPercentile: 0.11486
cvssVector: 'CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N'
cvssSource: cna
ingestedAt: '2026-10-21T01:37:08.039Z'
---

## Overview

### Impact

Applications that prerender pages and use `setHeaders` to set a `cache-control` header from an untrusted source are vulnerable to cross-site scripting (XSS).

SvelteKit inserts the header value into a `<meta http-equiv="cache-control">` tag without escaping it. An attacker who can influence this value at prerender time can break out of the `content` attribute and inject HTML or JavaScript into the generated page. The injected code can then execute when users visit the page.

### Patches

The fix escapes the header value before inserting it into the generated HTML. Upgrade to `@sveltejs/kit` version 3.0.0 or later.

### Workarounds

Avoid forwarding untrusted `cache-control` header values with `setHeaders` on prerendered pages. Use a fixed, trusted cache policy instead.

## Affected packages

- `@sveltejs/kit < 3.0.0`

## Remediation

Upgrade to a patched release:

- `@sveltejs/kit 3.0.0`
