Skip to main content
← All vulnerabilities
CVE-2024-27935GHSA-WRQV-PF6J-MQJP

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

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 1.36.3
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: no
  • Technical impact: partial

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • denoland deno

    From 1.35.1 · fixed in 1.36.3

  • denocrates.io

    From 1.35.1 · fixed in 1.36.3

References 3

GitHub · denoland/deno