🇰🇷 한글 설명
Deno의 Node.js 호환성 런타임에서 발생하는 취약점으로, 소켓이나 파일로부터의 비동기 읽기 작업 중 전역 버퍼(BUF)를 재사용하는 과정에서 데이터 오염이 발생할 수 있습니다. 이로 인해 한 세션의 데이터가 다른 세션으로 전달되어 데이터 손상 및 예기치 않은 동작을 유발할 수 있습니다.
💡 쉬운 설명
여러 작업이 동시에 데이터를 읽을 때, 데이터를 담는 그릇을 공유하면서 다른 사람의 데이터가 섞여 들어가는 문제입니다. 이로 인해 정보가 잘못 전달되거나 프로그램이 오작동할 수 있습니다.
🇺🇸 원문 (English)
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.
📍 영향받는 시스템
Deno version 1.35.1 and prior to version 1.36.3
⚔️ 공격 벡터
Node.js 호환 레이어를 사용하는 네트워크 통신 또는 스트림 작업 중 동시 비동기 읽기를 통한 데이터 혼입
🛡️ 대응 방법
Deno를 버전 1.36.3 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 1.36.3 미만(예: 1.35.1 등)이면 취약한 상태입니다.
deno --version | grep -E 'deno [0-9]+\.[0-9]+\.[0-9]+'