Skip to main content

SvelteKit CVE-2026-114061

| EUVDEUVD-2026-107012 LOW
Cross-site Scripting (XSS) (CWE-79)
2.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Influence untrusted cache-control value
  2. Delivery
    Inject payload at prerender time
  3. Exploit
    Payload baked into meta tag HTML
  4. Execution
    Victim visits prerendered page
  5. Impact
    Script executes in victim browser

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires a SvelteKit application (version before 3.0.0) that (1) uses prerendering for the affected page and (2) calls setHeaders to set a cache-control header whose value is derived from attacker-influenceable untrusted data available at prerender/build time. The injected payload only executes when a user later visits the prerendered page, so victim page visits (UI:P) are needed and the window of control is at prerender time, not at live request time. Limiting factors: applications that never set cache-control via setHeaders, that do not prerender, or that only use trusted/static header values are not exploitable; impact is confined to the user's browser context (no server compromise).

Impact

This is a genuinely low-priority issue, and the multiple signals agree rather than conflict. The vendor-supplied CVSS 4.0 vector scores only 2.3 (Low): AV:N and PR:N suggest network-reachable and unauthenticated, but AT:P (attack requirements present) and UI:P (passive user interaction) plus zero vulnerable-system impact (VC:N/VI:N/VA:N) and only low subsequent-system impact (SC:L/SI:L) reflect that this is a narrowly-conditioned reflected/stored XSS whose only impact is in the visiting user's browser. No EPSS score was provided in the input, no POC was referenced, and the CVE is not on CISA KEV - so there is no public exploit identified at time of analysis and no evidence of active exploitation. The practical risk is further depressed by the precondition that a developer must feed attacker-influenced untrusted data into a cache-control header via setHeaders on a prerendered page, which is an uncommon pattern. Note the one apparent tension: PR:N/AV:N reads as 'remote unauthenticated,' yet the description makes clear exploitation depends on an attacker controlling an untrusted value at prerender (build) time, which is a meaningful real-world constraint not captured by the base vector - verify the data-flow assumption against your own application.

Exploit ScenarioDerived

A SvelteKit application prerenders a page and calls setHeaders to set a cache-control value derived from untrusted input (e.g. CMS content or external data). At prerender time the attacker-influenced value breaks out of the content attribute of the <meta http-equiv="cache-control"> tag and injects HTML/JavaScript, which then executes in the browser of any user who later visits the prerendered page. No public exploit code was referenced in the input; exploitation requires an application that routes untrusted data into that header.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 21, 2026

SvelteKit (@sveltejs/kit) versions before 3.0.0 can emit attacker-influenceable HTML or JavaScript into prerendered pages when an application passes untrusted data into a cache-control header via setHeaders; the value is inserted unescaped into a <meta http-equiv="cache-control"> tag. Exploitation requires a prerendered page plus an untrusted header value at prerender/build time, and the injected payload executes only when a user later visits that page (UI:P/UI:R), so impact is confined to the victim's browser context. This is a low-severity XSS issue (CVSS 2.3; assessed CVSS:3.1 vector with C:L/I:L), with no public exploit identified at time of analysis and no CISA KEV confirmation.

RemediationAI

Vendor-released patch: upgrade @sveltejs/kit to version 3.0.0 or later, and review the vendor advisory at https://github.com/sveltejs/kit/security/advisories/GHSA-27mw-82g8-phjj for the fixed release details. If immediate upgrade is not possible, stop passing attacker-influenceable data into setHeaders for cache-control and use only static or allowlisted header values; alternatively, strictly validate or escape values to header-safe tokens before use, or disable prerendering for any page whose cache-control value depends on untrusted input. These workarounds require code changes and may alter caching/CDN behavior, and disabling prerendering can increase runtime server load; they reduce exposure but do not replace upgrading to the fixed release.

Affected VersionsENISA

kit 0 <3.0.0

Affected Packages

npm @sveltejs/kit fix: 3.0.0
euvd kit fix: 3.0.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in npm, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

SvelteKit is a web application framework that supports prerendering, where pages are rendered to static HTML at build time. The setHeaders API allows applications to define response headers, including cache-control, for rendered or prerendered responses. In affected versions, when a cache-control value set through setHeaders is derived from data available at prerender time, that value is serialized into a <meta http-equiv="cache-control"> tag without proper attribute-context escaping. This is CWE-79 (cross-site scripting): an attacker who can influence the header value can break out of the content attribute and inject HTML or JavaScript into the generated page. The CPE cpe:2.3:a:sveltejs:kit:*:*:*:*:*:*:*:*:* identifies @sveltejs/kit as the affected package; only installations before 3.0.0 that prerender pages and use setHeaders with untrusted cache-control values are exposed. The flaw does not provide server compromise, and exploitation is constrained to the browser context of users who visit the affected prerendered page.

Know when Kit gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 2.3 LOW
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
vuln.today AI 4.7 MEDIUM

AC:H because exploitation depends on attacker-controlled untrusted data reaching a prerender-time cache-control header; UI:R and S:C as XSS executes in the victim's browser; C:L/I:L/A:N for limited client-side impact.

3.1 AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
Low
Subsequent system: Integrity
Low
Subsequent system: Availability
None

Lifecycle Timeline

1
Patch available
Oct 21, 2026 - 02:01 EUVD

DescriptionCVE.org

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.

Threat Intelligence Overview

EPSS Score
0.2%
Top 93% exploitable
Prevalence
Medium
popular JavaScript meta-framework, moderate but growing production footprint
Threat Intel
1
1 source
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity LOW
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Low

Priority Score

12
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +12
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

Related Vulnerabilities in SvelteKit Redirect, XSS, SSRF, and Path Traversal

View all 4

More in Kit

View all
CVE-2024-23641 HIGH POC
7.5 Jan 24

SvelteKit is a web development kit. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no authe

CVE-2026-66062 MEDIUM POC
5.3 Aug 07

Remote denial-of-service in @sveltejs/kit (versions ≤ 2.70.1) is achievable by any unauthenticated attacker who sends a

CVE-2025-67647 CRITICAL
9.1 Jan 15

SvelteKit 2.19.0-2.49.4 has SSRF/DoS affecting applications with prerendered routes. Can be exploited to make the server

CVE-2026-82259 HIGH
8.7 Aug 28

Denial of service in SvelteKit versions 2.49.0 through 2.53.2 is achievable by unauthenticated remote attackers who subm

CVE-2026-82261 HIGH
8.7 Aug 28

CPU exhaustion in SvelteKit's experimental remote form deserialization endpoint allows unauthenticated remote attackers

CVE-2026-82260 HIGH
8.7 Aug 28

Memory exhaustion in @sveltejs/kit versions 2.49.0 through 2.52.1 allows unauthenticated remote attackers to crash the s

CVE-2026-40073 HIGH
8.2 Apr 10

Request body size limit bypass in SvelteKit adapter-node allows unauthenticated attackers to submit oversized payloads,

CVE-2026-22803 HIGH
7.5 Jan 15

SvelteKit versions 2.49.0 through 2.49.4 are vulnerable to denial-of-service attacks through the experimental form remot

CVE-2026-82256 MEDIUM
6.9 Aug 28

Uncontrolled payload size acceptance in SvelteKit's remote form function handler allows unauthenticated remote attackers

CVE-2026-40074 MEDIUM
6.3 Apr 10

SvelteKit versions prior to 2.57.1 are vulnerable to denial of service when the redirect() function is called from the h

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy