CVE-2026-22775: 
JavaScript vulnerability analysis and mitigation

Overview

CVE-2026-22775 is a denial-of-service vulnerability in the Svelte devalue npm package, a JavaScript library used to serialize values into strings when JSON.stringify is insufficient. Affecting versions 5.1.0 through 5.6.1, the flaw allows unauthenticated remote attackers to cause excessive CPU and/or memory consumption by supplying crafted input to devalue.parse. It was disclosed on January 15, 2026, and fixed in version 5.6.2. The vulnerability carries a CVSS v3.1 base score of 7.5 (High) (GitHub Advisory, Feedly).

Technical details

The root cause is improper input validation (CWE-20) in the ArrayBuffer hydration logic within devalue.parse, which assumes input is a base64-encoded string but does not verify this assumption before attempting to decode it (CWE-405: Asymmetric Resource Consumption). An attacker can supply a non-string value (e.g., an object with a large length property) as the ArrayBuffer payload, causing the parser to attempt disproportionate memory allocation or CPU-intensive operations. The fix in commit 11755849 adds an explicit type check (if (typeof base64 !== 'string') throw new Error('Invalid ArrayBuffer encoding')) before decoding, and also addresses related self-referential and circular reference issues in TypedArray and custom reviver hydration paths (GitHub Advisory, Patch Commit).

Impact

Successful exploitation causes the affected Node.js application to consume excessive CPU time and/or memory, resulting in denial of service. Only the availability of the affected system is impacted — there is no confidentiality or integrity risk. Applications that expose devalue.parse to externally-supplied or user-controlled data are at risk, including SvelteKit-based web applications that use server-side data hydration (GitHub Advisory).

Exploitability

No public proof-of-concept exploit code has been identified, and there is no evidence of active in-the-wild exploitation as of the time of disclosure (Feedly). The vulnerability requires no authentication and no user interaction, making it trivially exploitable against any exposed endpoint that calls devalue.parse on untrusted input. The EPSS score is approximately 0.038% (0.000380), indicating a low probability of exploitation in the near term. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog.

Exploitation steps

  1. Identify target: Locate a web application using the devalue npm package (versions 5.1.0–5.6.1) that passes externally-supplied data to devalue.parse — common in SvelteKit server-side rendering or API endpoints.
  2. Craft malicious payload: Construct a devalue-serialized string containing an ArrayBuffer entry with a non-string value, such as an object with a large length property: [["ArrayBuffer", {"length": 1000000000}]].
  3. Send the payload: Submit the crafted input to the target endpoint via an HTTP request (e.g., POST body or query parameter) that feeds into devalue.parse.
  4. Trigger resource exhaustion: The parser attempts to process the malformed ArrayBuffer entry without validating the type, causing excessive memory allocation or CPU consumption and degrading or crashing the service (GitHub Advisory, Patch Commit).

Indicators of compromise

  • Network: Repeated HTTP requests to endpoints that accept serialized devalue data, particularly with unusually large or malformed payloads in the request body.
  • Logs: Node.js process logs showing out-of-memory errors or unhandled exceptions referencing devalue, parse.js, or ArrayBuffer hydration; application logs showing sudden spikes in request processing time.
  • Process: Node.js process exhibiting abnormally high CPU or memory usage without a corresponding increase in legitimate traffic; process crashes or restarts triggered by memory exhaustion (OOM killer events on Linux).

Mitigation and workarounds

The primary remediation is to upgrade the devalue npm package to version 5.6.2 or later, which validates that ArrayBuffer input is a string before decoding and adds circular reference detection (GitHub Release). For applications unable to upgrade immediately, implement input validation and resource limits before passing data to devalue.parse, restrict parsing of untrusted input at the application layer, and apply rate limiting on endpoints that process externally-supplied serialized data (Feedly). Red Hat has also issued advisories (RHSA-2026:2144, RHSA-2026:2926) for downstream packages affected by this vulnerability.

Community reactions

The Svelte team published an official blog post covering CVEs affecting the Svelte ecosystem, including this vulnerability (Svelte Blog). The vulnerability was noted on Hacker News and social media platforms including Mastodon and Bluesky, with coverage from TheHackerWire. Community reaction was generally low-key given the limited scope and absence of active exploitation.

Additional resources

Linux Distribution fix status

Fix availability across major Linux distributions and their releases.

RHEL / CentOS

Unknown

Source: This report was generated using AI

Related JavaScript vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

GHSA-gvwc-5hr5-44p8HIGH7.5
  • JavaScript logoJavaScript
  • probe-image-size
NoYesOct 26, 2026
GHSA-5jh3-w3fj-6758LOW3.7
  • JavaScript logoJavaScript
  • probe-image-size
NoYesOct 26, 2026
GHSA-5v8x-rm7w-m4c7LOW3.7
  • JavaScript logoJavaScript
  • probe-image-size
NoYesOct 26, 2026
GHSA-7pqp-3q23-mwr8LOW3.7
  • JavaScript logoJavaScript
  • probe-image-size
NoYesOct 26, 2026
GHSA-3qg4-7mq2-gm93MEDIUMN/A
  • JavaScript logoJavaScript
  • probe-image-size
NoYesOct 26, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Additional Wiz resources

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management