Skip to main content

SvelteKit CVE-2026-82258

| EUVDEUVD-2026-67584 MEDIUM
Race Condition (CWE-362)
2026-08-28 VulnCheck GHSA-m99x-q38g-c4c6
5.9
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Authenticate to target SvelteKit application
  2. Delivery
    Identify server route invoking query.batch()
  3. Exploit
    Send repeated batch requests during high-concurrency period
  4. Execution
    Race condition merges attacker and victim request contexts
  5. Impact
    Attacker response contains victim's sensitive session data

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V15 - Secure Coding and Architecture Concurrency control, locking
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

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

Exploitation Conditions

Exploitation requires that the target SvelteKit application uses the query.batch() API - applications running affected versions but not invoking this specific API are not exposed. The CVSS 4.0 vector specifies PR:L, confirming that the attacker must hold a valid authenticated session in the application; unauthenticated exploitation is not indicated. A concurrent request from a separate authenticated victim user must be in flight at the same moment, reflected in the UI:P metric; the attacker cannot trigger the race unilaterally. The AT:P metric further constrains exploitation to a specific timing prerequisite: the two requests must arrive within a narrow window in the batch processor's scheduling cycle. Limiting factors include: requirement for authenticated attacker and victim sessions, non-default API usage (query.batch() must be explicitly invoked), high timing precision required (AC:H), and higher risk only under meaningful concurrent load.

Impact

The CVSS 4.0 vector (AV:N/AC:H/AT:P/PR:L/UI:P, score 5.9 Medium) encodes several real constraints: high attack complexity from the race window, a specific prerequisite attack condition (AT:P) requiring the batch API to be in use, authenticated access (PR:L), and victim interaction (UI:P) in the form of a concurrent request. These collectively make reliable exploitation difficult - the attacker has limited control over the timing of another user's requests. No EPSS probability score was present in the source data, so quantitative exploitation likelihood cannot be stated; this is a gap in the available intelligence. The vulnerability is not listed in the CISA KEV catalog and no proof-of-concept code appears in the referenced advisories, consistent with the low-to-moderate real-world urgency suggested by the Medium CVSS score. The confidentiality impact is rated high (VC:H), meaning that when the race does fire, the exposed data can be fully sensitive - a consequence that is disproportionate to the probability-adjusted risk. Applications with high concurrent authenticated user loads face meaningfully higher exposure than low-traffic deployments, where the race window may rarely or never be reached.

Exploit ScenarioDerived

An authenticated attacker submits a query.batch() request to a SvelteKit 2.38.0-2.60.0 application timed to coincide with a concurrent request from a different authenticated user - for example, by repeatedly issuing batch requests during a high-traffic period to maximize overlap probability. The race condition causes the batch processor to resolve both users' data under a shared context, returning the victim's session data (such as profile fields, tokens, or application state) in the attacker's response. No public exploit code has been identified, and the narrow timing window makes reliable, on-demand triggering difficult.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.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 – Aug 28, 2026

Cross-user data disclosure in SvelteKit (npm/@sveltejs/kit versions 2.38.0 through 2.60.0) stems from a race condition in the query.batch() API that can cause concurrent HTTP requests from different authenticated users to merge under a single shared request context. Successful exploitation allows one user to receive response data belonging to another user's simultaneous session, including potentially sensitive application state. Vendor-released patch version 2.60.1 is available; no active exploitation has been confirmed and no public exploit code has been identified at time of analysis.

RemediationAI

Upgrade @sveltejs/kit to version 2.60.1 or later, which contains the fix per the upstream commit dadaefc2e647a0a62f49f3ee8bc7aa46f5e27056 and the advisory GHSA-hgv7-v322-mmgr at https://github.com/sveltejs/kit/security/advisories/GHSA-hgv7-v322-mmgr. If an immediate upgrade is blocked by compatibility constraints, the most targeted workaround is to refactor affected server-side code to avoid calls to query.batch(), replacing them with individual sequential queries; this eliminates the vulnerable code path entirely at the cost of additional request latency and reduced batching efficiency. Applications operating at low concurrency have a materially reduced probability of triggering the race condition but remain technically vulnerable and should still be patched. No additional firewall or network-layer controls are effective against this vulnerability, as the race occurs within the application's own request-processing logic.

Affected VersionsENISA

kit 2.38.0 <2.60.1

Affected Packages

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

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 full-stack web application framework built on Svelte, distributed via npm as @sveltejs/kit (CPE: cpe:2.3:a:sveltejs:kit:*:*:*:*:*:*:*:*). The query.batch() API, introduced in version 2.38.0, aggregates multiple data-fetching operations into a single request cycle as a performance optimization. CWE-362 (Concurrent Execution Using Shared Resource with Improper Synchronization) identifies the root cause: the batch processor shares mutable request context state across concurrent invocations without adequate isolation guards. When two users' requests arrive within a sufficiently narrow timing window, the scheduler can incorrectly bind both to the same context object, leaking the resolved data of one session into the other's response. The fix is committed at dadaefc2e647a0a62f49f3ee8bc7aa46f5e27056 in the sveltejs/kit repository.

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 5.9 MEDIUM
CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:P/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N
vuln.today AI 5.4 MEDIUM

Network-reachable race condition requires authenticated attacker, concurrent victim interaction, and precise timing; no availability impact applies.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

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

Lifecycle Timeline

1
Patch available
Aug 28, 2026 - 13:17 EUVD

DescriptionCVE.org

SvelteKit versions from 2.38.0 before 2.60.1 contain a race condition in query.batch that allows concurrent requests from different users to merge under a single request context. Attackers can exploit specific timing conditions to access sensitive data from other users' concurrent requests.

Threat Intelligence Overview

EPSS Score
0.2%
Top 94% exploitable
Prevalence
Medium
popular full-stack framework, widely adopted across Node.js/npm ecosystem
Data Quality
7 sources
Confidence: High

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Race conditions occur when multiple concurrent requests exploit the brief time gap between checking a condition and acting upon it (TOCTOU - Time of Check, Time of Use).

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-114063 HIGH
8.7 Oct 21

A path traversal vulnerability in SvelteKit's Vite preview server on Windows (versions 2.10.0 before 3.0.0) allows remot

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-114062 MEDIUM
6.9 Oct 21

Server-side request forgery in SvelteKit before 3.0.0 allows unauthenticated remote attackers to abuse the framework's s

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