Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessInfluence untrusted cache-control value
-
DeliveryInject payload at prerender time
-
ExploitPayload baked into meta tag HTML
-
ExecutionVictim visits prerendered page
-
ImpactScript 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
Affected Packages
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
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
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.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
1DescriptionCVE.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
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.
What every action level means
SSVC AssessmentENISA
Priority Score
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 4SvelteKit is a web development kit. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no authe
Remote denial-of-service in @sveltejs/kit (versions ≤ 2.70.1) is achievable by any unauthenticated attacker who sends a
SvelteKit 2.19.0-2.49.4 has SSRF/DoS affecting applications with prerendered routes. Can be exploited to make the server
Denial of service in SvelteKit versions 2.49.0 through 2.53.2 is achievable by unauthenticated remote attackers who subm
CPU exhaustion in SvelteKit's experimental remote form deserialization endpoint allows unauthenticated remote attackers
Memory exhaustion in @sveltejs/kit versions 2.49.0 through 2.52.1 allows unauthenticated remote attackers to crash the s
Request body size limit bypass in SvelteKit adapter-node allows unauthenticated attackers to submit oversized payloads,
SvelteKit versions 2.49.0 through 2.49.4 are vulnerable to denial-of-service attacks through the experimental form remot
Uncontrolled payload size acceptance in SvelteKit's remote form function handler allows unauthenticated remote attackers
SvelteKit versions prior to 2.57.1 are vulnerable to denial of service when the redirect() function is called from the h
EUVD-2026-107012
GHSA-27mw-82g8-phjj
NVD
CVE.org
EPSS
Exploit-DB