CVE-2024-27935CWE-488

Deno's Node.js Compatibility Runtime has Cross-Session Data Contamination

High · published March 6, 2024

CVSS v3.1
7.2
EPSS
1%
Percentile
53.5
In the wild
Unconfirmed
What it is

Deno is a JavaScript, TypeScript, and WebAssembly runtime. Starting in version 1.35.1 and prior to version 1.36.3, a vulnerability in Deno's Node.js compatibility runtime allows for cross-session data contamination during simultaneous asynchronous reads from Node.js streams sourced from sockets or files. The issue arises from the re-use of a global buffer (BUF) in stream_wrap.ts used as a performance optimization to limit allocations during these asynchronous read operations. This can lead to data intended for one session being received by another session, potentially resulting in data corruption and unexpected behavior. This affects all users of Deno that use the node.js compatibility layer for network communication or other streams, including packages that may require node.js libraries indirectly. Version 1.36.3 contains a patch for this issue.

The record
Technical detail
CVSS v3.1
7.2 · HIGH
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:L
CVSS v4.0
Not supplied
EPSS
0.00722 · 53.5th percentile
Weakness
CWE-488 · Exposure of Data Element to Wrong Session
Published
2024-03-06T21:02Z
EPSS history
Timeline
  • 06 MAR 21:02Z
    Deno's Node.js Compatibility Runtime has Cross-Session Data Contamination
    cvelistv5