Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSend HTTP request with crafted long Accept header
-
DeliveryTrigger O(n²) regex backtracking in negotiate()
-
ExploitExhaust server CPU per request
-
ExecutionFlood with concurrent requests
-
ImpactDeny service to legitimate users
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V2 - Validation and Business Logic Regex complexity limits
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Any HTTP request processed by a SvelteKit application running version 2.70.1 or earlier that reaches the |
| Impact | The CVSS 3.1 score of 5.3 (Medium) with vector AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L accurately captures the nature of this flaw: unauthenticated, low-complexity, network-reachable, with impact limited to availability. There is no confidentiality or integrity exposure. This is not in CISA KEV, and no standalone POC exploit has been identified, though the attack primitive is trivially constructed from the public advisory and commit diff - any HTTP client capable of setting custom headers is sufficient. The GHSA advisory explicitly notes that default header length limits on most production platforms (reverse proxies, load balancers) significantly constrain the maximum input length and therefore the worst-case backtracking cost, reducing practical severity for well-configured deployments. Organizations running SvelteKit directly exposed without header size controls face the highest real-world risk. Overall this is a genuine but moderate-priority issue: patch promptly, but not an emergency for teams behind standard reverse proxies. |
| Exploit ScenarioDerived | An unauthenticated attacker sends a stream of HTTP requests to any SvelteKit application endpoint, each carrying a crafted Accept header consisting of a long repeated character sequence without a forward-slash (e.g., 'a' repeated thousands of times), which the vulnerable regex attempts to match at every position before failing. Each such request occupies a CPU core for a disproportionately long time; a modest volume of concurrent requests can saturate available CPU and deny service to legitimate users without any authentication or prior access to the application. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 07, 2026
Remote denial-of-service in @sveltejs/kit (versions ≤ 2.70.1) is achievable by any unauthenticated attacker who sends a specially crafted Accept header, triggering quadratic backtracking in the framework's content negotiation regex and causing excessive CPU consumption. The CVSS vector (AV:N/AC:L/PR:N/UI:N) confirms zero-barrier remote exploitation against default SvelteKit deployments, though real-world impact is partly mitigated where platform-level header length limits are in place. No public exploit code has been identified at time of analysis, and this vulnerability is not listed in CISA KEV.
RemediationAI
Upgrade @sveltejs/kit to version 2.70.2 or later; this is the vendor-confirmed fix as documented in the GitHub Security Advisory GHSA-29g2-3rmr-qm68 and release tag at https://github.com/sveltejs/kit/releases/tag/@sveltejs/kit@2.70.2. The patch (https://github.com/sveltejs/kit/commit/82712fc02c24b1dcf5b25d7a52129cd8455f04f5) anchors the content negotiation regex with ^, eliminating quadratic backtracking at negligible functional cost. If an immediate upgrade is not possible, configure upstream reverse proxies or load balancers to enforce strict Accept header size limits - for example, nginx's large_client_header_buffers directive or equivalent limits in AWS ALB or Cloudflare; the GHSA advisory identifies this as an existing mitigating factor on most platforms. Note that header size restriction is a compensating control only: a moderately sized malformed header below typical platform limits may still cause measurable CPU impact, so it does not substitute for patching.
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's request handling uses a negotiate() function in packages/kit/src/utils/http.js to parse content negotiation headers such as Accept. The vulnerable regex - /([^/ ]+)/([^; ]+)[ ]*(?:;[ ]*q=([0-9.]+))?/ - lacked a start anchor (^), causing the JavaScript regex engine to attempt a match at every character position within the input string. When the input is a long string that never satisfies the pattern (e.g., repeated characters without a MIME-type slash separator), the engine backtracks quadratically - O(n²) - with respect to the input length n. This is the canonical ReDoS pattern classified under CWE-1333 (Inefficient Regular Expression Complexity). The fix, confirmed by commit diff, adds a ^ anchor to force a single-pass evaluation. The affected CPE is cpe:2.3:a:sveltejs:kit:*:*:*:*:*:*:*:* covering all kit versions up to and including 2.70.1.
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
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Network-reachable with no privileges or user interaction required; impact is availability-only with partial degradation, matching the ReDoS DoS class and GHSA description.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
SvelteKit is a framework for rapidly developing robust, performant web applications using Svelte. Prior to 2.70.2, the content negotiation header parser used by SvelteKit's request handling (for headers such as Accept) uses a regular expression vulnerable to quadratic backtracking, so a maliciously crafted header value can cause excessive CPU consumption and degrade or deny service. Version 2.70.2 fixes the issue.
Blast Radius
ecosystem impact- 8 npm packages depend on @sveltejs/kit (6 direct, 3 indirect)
Ecosystem-wide dependent count for version 2.70.2.
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
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
SvelteKit is a web development kit. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no authe
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
Cross-user data disclosure in SvelteKit (npm/@sveltejs/kit versions 2.38.0 through 2.60.0) stems from a race condition i
Prototype pollution in SvelteKit's remote form functions allows network-accessible attackers to remove methods from Java
Unauthenticated remote attackers can tamper with limited plugin-controlled data in Kit (formerly ConvertKit) for WooComm
EUVD-2026-54557
GHSA-29g2-3rmr-qm68
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB