☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Svelte logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 4.8 CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:H/I:N/A:N 🐛 CWE-362
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2026-82258

CVE-2026-82258 Race Condition in Svelte
📅 PUBLISHED: 2026-08-28 00:00 UTC 🔄 UPDATED: 2026-09-26 06:13 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.16%
👁️
0.16% probability
4.1× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1190
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
Country: Global License: Open Source
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 4.8
AV: N Attack Vector Network
AC: H Attack Complexity High
PR: L Privileges Required Low
UI: R User Interaction Required
S: U Scope Unchanged
C: H Confidentiality High
I: N Integrity None
A: N Availability None
4.8
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-82258 is a race condition vulnerability (CWE-362) affecting SvelteKit versions 2.38.0 up to, but not including, 2.60.1. The flaw exists in the query.batch functionality, where concurrent requests from different users can be merged under a single request context due to a timing-dependent data-sharing condition. This allows a low-privileged attacker to potentially access sensitive data belonging to other users' concurrent requests. The vulnerability carries a CVSS 3.1 base score of 4.8 (Medium severity) with a high confidentiality impact, and exploits require network access, high attack complexity, and user interaction. No public exploit code or CISA KEV inclusion exists as of this report; patch confidence is rated 3/4 (LIKELY), with two independent sources confirming the fix.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Technical Analysis

SvelteKit is a full-stack application framework for Svelte, handling server-side rendering, routing, and data loading. The vulnerability is rooted in the query.batch mechanism — a feature introduced in version 2.38.0 designed to coalesce multiple database or API query operations into a single batch within a request context to optimize performance.

The NVD description identifies a race condition (CWE-362) in the query.batch implementation. The core weakness involves shared mutable state between concurrent request handlers. In a properly isolated server, each HTTP request must be processed with a distinct request context — carrying authentication state, user identifiers, and session data. The race condition arises because SvelteKit's internal batching logic does not properly scope the request context to the individual request when multiple concurrent requests arrive.

Under specific timing conditions, the batch scheduler may associate user A's request context with operations intended for user B's request. Concretely, this means a database cursor, cache entry, or temporary result set created during user A's batched query can be observed by user B if the requests arrive close enough together and the context reassignment occurs during the critical window.

The attack surface is the public HTTP-facing application — any SvelteKit application using query.batch with authenticated endpoints that return user-specific data is potentially affected. The condition is triggered by racing two or more HTTP requests so that the scheduler merges them into a single batch execution unit. The attack complexity is rated HIGH (AC:H) in the CVSS vector, suggesting that successful exploitation requires precise timing, multiple attempts, and possibly a deep understanding of the application's endpoint behavior.

The fact that the CVSS vector includes Privileges Required: Low (PR:L) indicates the attacker needs a valid low-privileged account (e.g., a standard authenticated user) to initiate the race. User Interaction: Required (UI:R) suggests the attack chain may require the victim to perform an action concurrently — for instance, the victim must be actively using the application (browsing, submitting a form) while the attacker triggers their own concurrent request to the same batch queue.

Specific implementation details (function names, callbacks, internal batch-queue code paths) are not disclosed in the NVD description. The affected version range spans from 2.38.0 (where query.batch was introduced) through 2.60.0, with the fix landing in 2.60.1. OSV data shows the affected package reference as / with commit hash 54e10cf07ab2bf06c6ec6d2ea225c34936c5d2e8 marked as unfixed beyond the branch point, further confirming upstream remediation via a later commit.


Exploitation Scenarios

No public PoC or exploit code exists for CVE-2026-82258. The attack chain below is inferred from the vulnerability class (race condition in shared request-context handling) and the constraints imposed by the CVSS vector and NVD description.

Step 1 — Reconnaissance / Target Identification: The attacker identifies a SvelteKit application running version ≥ 2.38.0 and < 2.60.1. This can be done via HTTP response header inspection (e.g., x-powered-by or server metadata), error-page fingerprints, or JavaScript bundle analysis revealing SvelteKit version strings. The attacker must have a valid low-privileged account to interact with authenticated endpoints, so enumeration of application routes that perform batched queries (data listings, dashboards, user-facing APIs) is a prerequisite.

Step 2 — Triggering the Race Condition: The attacker crafts two HTTP requests destined for the same query.batch execution path:

  • Request A (attacker's own session): requests a benign data resource.
  • Request B (victim's session): the victim must simultaneously request a resource containing sensitive data (e.g., a profile page, order history, or administrative summary view).

These requests must arrive at the server within a tight timing window (millisecond or microsecond range) to be queued into the same batch execution unit. The attacker can use a script to fire hundreds of paired requests while spraying requests at likely endpoints to increase the probability of merging. The high attack complexity reflects the difficulty in reliably hitting this window, especially under real-world network jitter and server load.

Step 3 — Execution / Payload at the Vulnerability-Class Level: No crafted payload is needed beyond the concurrent request pattern. The exploitation is inherently race-based: the attacker relies on the batch scheduler reassigning the victim's request context to the attacker's batched execution slot. Once the merge occurs, the batch's output cursor may contain rows from the victim's query, which the attacker's response handler then reads and returns. The attacker's response contains data intended for the victim session (CWE-362 — the check-then-use of the request context is not atomic).

Step 4 — Post-Exploitation Impact: Successful exploitation yields confidentiality loss — the attacker receives data belonging to the victim's session. This could include PII, authentication tokens, account identifiers, or sensitive business records, depending on application data model. Because the CVSS confidentiality impact is rated HIGH (C:H) while integrity and availability are unaffected, the primary blast radius is data leakage. The attacker gains no capability to modify data or disrupt services.

Attacker Skill Level: Medium-to-high. The attacker must be able to write a concurrent request generator, understand HTTP timing characteristics, and repeat the race attempt until successful. User interaction is required, meaning social engineering may be needed to get a specific victim online and active at the right moment — alternatively, the attacker may simply wait for natural application usage patterns in high-traffic environments.


Impact Assessment

Business Impact: The vulnerability enables cross-user data exposure in SvelteKit applications. In a multi-tenant environment (SaaS platform, enterprise portal, or citizen-facing application), the leak of session-scoped data could violate data protection regulations (GDPR, CCPA, HIPAA) and damage corporate reputation. Even though the attack requires precise timing and a low-privileged account, the potential disclosure of financial records, health information, or authentication credentials elevates real-world severity beyond the nominal CVSS score.

Affected Systems: Any production deployment of SvelteKit built with query.batch functionality on versions 2.38.0–2.60.0. Applications not using the batching feature are likely unaffected, though insufficient technical detail exists to confirm whether the race persists in non-batched query paths.

Blast Radius: The CVSS vector AV:N/AC:H/PR:L/UI:R/S:U/C:H/I:N/A:N translates to:

  • Confidentiality: High — full disclosure of data fragments from victim sessions.
  • Integrity: None — no data modification.
  • Availability: None — no denial-of-service.
  • Scope: Unchanged — the vulnerable component is solely affected; no adjacent systems are compromised.

Limiting Factors: High attack complexity (timing precision), required low privilege, and mandatory user interaction reduce the likelihood of mass exploitation. With an EPSS score of 0.00163 (5.8th percentile), the current exploitation probability in the wild is negligible. No CISA KEV listing, no known threat-actor campaigns, and no exploit code are publicly available.

Business Priority: Medium. For enterprises relying on SvelteKit for customer-facing or multi-tenant services, the issue should be prioritized after verifying deployment versions. For internal tooling with minimal concurrent-user interaction, the risk is low.


Detection Guidance

The following detection rules target the observable behaviors of the race-condition exploitation attempt: bursts of concurrent HTTP requests to authenticated endpoints, identical request patterns from a single source, and abnormally high request rates for 4xx/5xx responses around batch execution boundaries. Because the flaw is server-side and does not require malicious payloads, network detection is challenging; host and application-log detection are the most effective layers.

Sigma Rule

title: SvelteKit query.batch Race Condition Exploitation Attempt
id: 0a1a2b3c-5d6e-4f7a-8b9c-0d1e2f3a4b5c
status: experimental
description: Detects bursts of concurrent HTTP requests to SvelteKit endpoints that may indicate race-condition exploitation attempts against query.batch (CVE-2026-82258)
author: Valtersit Threat Intel Team
date: 2026/11/21
logsource:
  category: webserver
  product: sveltekit
detection:
  selection:
    cs-uri-extension|endswith: ['.json', '.js', '']
    sc-status:
      - 200
      - 403
      - 500
  condition: selection
  timeframe: 5s
  aggregation:
    group:
      - c-ip
    min_count: 50
    max_count: 1000
  filter:
    cs-uri-stem|contains:
      - '/api/'
      - '/_app/'
      - '/data/'
      - '/dashboard'
      - '/profile'
level: medium
falsepositives:
  - Legitimate load testing of SvelteKit APIs
  - High-traffic public endpoints with many concurrent users
tags:
  - attack.t1190
  - cve-2026-82258
  - cwe-362
  - race_condition

YARA Rule

rule SvelteKit_QueryBatch_RaceCondition_CVE_2026_82258 {
    meta:
        author      = "Valtersit Threat Intel Team"
        description = "Detects SvelteKit source or patch references indicating query.batch race condition (CVE-2026-82258)"
        date        = "2026-11-21"
        cve         = "CVE-2026-82258"
        reference   = "https://nvd.nist.gov/vuln/detail/CVE-2026-82258"
        severity    = "medium"
    strings:
        $a = "query.batch" ascii nocase
        $b = "batch" ascii
        $c = "2.60.1" ascii
        $d = "2.38.0" ascii
        $e = "race condition" ascii nocase
        $f = "concurrent" ascii nocase
        $g = "request context" ascii nocase
    condition:
        (uint16(0) == 0x5A4D or uint16(0) == 0x7F45) // PE or ELF binary
        or filesize < 5MB
        and 3 of them
}

Suricata IDS Rule

alert http any any -> any any (msg:"SVELTEKIT CVE-2026-82258 Race Condition Exploitation Attempt"; flow:established,to_server; content:"POST"; http_method; content:"/api/"; http_uri; nocase; content:"query"; http_uri; nocase; content:"batch"; http_uri; nocase; threshold:type both, track by_src, count 30, seconds 5; metadata:attack_target Web_Server, deployment Perimeter, signature_severity Major, created_at 2026_11_21, cve CVE-2026-82258, mitre_tactic_id TA0001, mitre_tactic_name Initial_Access, mitre_technique_id T1190, mitre_technique_name Exploit_Public-Facing_Application; sid:28225801; rev:1;)

Elastic Detection

any where
  event.category == "network" and
  network.protocol == "http"
| filter
  stringContains(source.ip, "10.0.0.0/8")  // adjust per environment
| eval request_count = count(*) by source.ip, event.outcome
| stats
  count_requests = count(request_count) by source.ip
| filter count_requests > 50 and
  stringContains(host.name, "sveltekit")

Splunk SPL Query

index=web sourcetype=access_combined
| where like(uri_path, "%/api/%") OR like(uri_path, "%_app%")
| bin _time span=5s
| stats count as req_count, dc(uri_path) as unique_paths by clientip, _time
| where req_count > 50
| table _time, clientip, req_count, unique_paths
| eval suspicious = if(req_count > 50 AND unique_paths < 10, "RACE_ATTEMPT", "RACE_MONITOR")
| sort - _time

Wazuh OSSEC Rule

<group name="sveltekit,">
  <rule id="282258" level="10">
    <decoded_as>json</decoded_as>
    <field name="url">\.json</field>
    <field name="url">api</field>
    <field name="status">200</field>
    <description>SvelteKit suspected race condition exploitation: high request rate to batched API endpoints</description>
    <group>cve-2026-82258,race_condition,</group>
    <mitre>
      <id>T1190</id>
    </mitre>
  </rule>
</group>

Mitigation & Patch Guidance

Patch Confidence: 3/4 — LIKELY. Two independent sources (NVD and OSV) confirm a fix exists in version 2.60.1.

Immediate Mitigations (before patching):

  1. Disable query.batch if the application does not strictly require it. SvelteKit configuration may allow opting into non-batched query execution.
  2. Reduce concurrent user interaction exposure by restricting authenticated API endpoints to single-flight requests where feasible, or introduce rate limiting per user/session for batch endpoints.
  3. Deploy a WAF rule to alert on high-frequency request bursts to endpoints using query.batch (even though no signature exists for the race itself).
  4. Temporarily gate sensitive endpoints behind an additional confirmation step (e.g., CAPTCHA or explicit form submission) to break the timing window.

Patch / Upgrade Steps:

  1. Upgrade SvelteKit to version 2.60.1 or later.
    • npm install @sveltejs/kit@^2.60.1
  2. Verify the installed version: npm list @sveltejs/kit
  3. Run full test suite, with emphasis on concurrent integration tests covering multi-user data isolation.
  4. If the application is packaged or containerized, rebuild and redeploy all affected artifacts — do not hot-patch a running instance.

Long-Term Hardening:

  1. Adopt a defense-in-depth approach: ensure authorization checks occur at the business logic layer, independent of SvelteKit's request context, so that any future context leak does not automatically result in data disclosure.
  2. Implement request-id propagation through all middleware and database layers, and log request-origin validation failures.
  3. Conduct regular concurrency testing using tools like hey, vegeta, or wrk to identify race conditions before they ship.
  4. Subscribe to SvelteKit security advisories and enable automated dependency update pipelines (e.g., Dependabot, Renovate) for prompt patch adoption.
  5. Treat authentication tokens and session data as sensitive: rotate session keys after upgrade, audit access logs for anomalous cross-user data access patterns.

References

  1. NVD Entry: https://nvd.nist.gov/vuln/detail/CVE-2026-82258 — Official CVE record, CVSS vector, and affected version range.
  2. OSV Advisory: https://osv.dev/vulnerability/CVE-2026-82258 — OSV database entry confirming patch commit 54e10cf07ab2bf06c6ec6d2ea225c34936c5d2e8 and fixed state in 2.60.1.
  3. SvelteKit Official Changelog / Release Notes: https://github.com/sveltejs/kit/releases/tag/%40sveltejs%2Fkit%402.60.1 — Vendor patch release containing the race-condition fix. (Verify via GitHub release page.)
  4. CWE-362 — Race Condition: https://cwe.mitre.org/data/definitions/362.html — Weakness class reference.
  5. CISA Known Exploited Vulnerabilities Catalog: https://www.cisa.gov/known-exploited-vulnerabilities-catalog — Confirmed NOT listed for this CVE as of publication date.

Exploit-in-the-Wild Evidence: None reported. No threat-actor campaigns, public exploit code, or Nuclei templates reference CVE-2026-82258 as of this report. EPSS score of 0.00163 places it in the bottom percentile of exploit probability.

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-82258/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.