CVE-2026-92708: devalue Package Vulnerability in Serialization of Shared Memory
Summary
CVE-2026-92708: devalue: stringify/uneval serialize shared memory. Affects devalue versions >= 5.1.0, < 5.9.3. Fixed in 5.9.3. How to fix ↓
Check if this vulnerability affects your application
Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.
No signup required · Results in about 60 seconds
Background
The devalue package is a JavaScript library used for serializing and deserializing data structures, particularly in server-side rendering (SSR) frameworks like SvelteKit and Nuxt. It allows developers to efficiently manage data transfer between server and client. However, it has a critical vulnerability that can lead to unintended data exposure due to improper serialization of Node Buffer objects.
Vulnerability Detail
The vulnerability arises from the stringify and uneval methods in the devalue package, which serialize typed arrays by emitting their backing ArrayBuffer instead of just the view. This means that when a Node Buffer object is serialized, it can inadvertently include unrelated memory from the process-wide shared pool. As a result, sensitive data from other requests, such as user request bodies or authorization headers, can be leaked in the serialized output. This issue can lead to significant data exposure, especially in SSR contexts, where a small Buffer can amplify the leak by serializing up to 64 KB of unrelated memory, potentially affecting thousands of users.
How To Fix
Latest published version: 6.0.3 as of 23 Oct 2026
npm install devalue@6.0.3
Upgrading to it may include breaking changes; the version below is the minimum fixed release for this vulnerability.
If you need the minimum change
5.9.3
This is the first release that contains the fix.
npm install devalue@5.9.3
Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →
Workaround
As a temporary workaround, convert Node Buffer objects to Uint8Array before serialization. You can modify your code as follows:
payload = {
buffer: new Uint8Array(buffer)
};
Conclusion
The devalue package has a critical vulnerability that can lead to serious data exposure due to improper serialization of Node Buffer objects. It is essential to update to the patched version to mitigate this risk. Additionally, using the provided workaround can help reduce the impact until the update is applied.
See every vulnerability recorded for devalue →
FAQ
The CVSS score of this vulnerability is 7.5, indicating a high severity level.
Sensitive data such as user request bodies and authorization headers can be leaked when unrelated memory is serialized.
You can use Vulert, which monitors and alerts for open-source vulnerabilities in real-time. You can check your application using the Vulert playground at Vulert Scanner without any signup.
The potential consequences include unauthorized access to sensitive user data and a significant amplification of data exposure, affecting many users.
Yes, the permanent fix is to update the devalue package to version 5.9.3 or later.
References
Related vulnerabilities
Recent vulnerabilities recorded for devalue.