🔍 CVE-2026-49402

8.1
CVSS Score
HIGH
2026-06-23
2026-10-25 23:10
✅ 완료

🇰🇷 한글 설명

Deno는 JavaScript, TypeScript, WebAssembly 런타임입니다. 2.7.10 이전 버전의 node:child_process 구현에서 shell: true 옵션 사용 시 호출되는 escapeShellArg() 헬퍼가 Windows에서 cmd.exe 메타문자를 올바르게 이스케이프하지 못하고 % 문자를 무력화하지 않아, 공격자가 인자에 임의의 추가 명령어를 주입할 수 있습니다. 이 취약점은 2.7.10 버전에서 수정되었습니다.

💡 쉬운 설명

Windows에서 Deno 프로그램이 다른 프로그램을 실행할 때 입력값을 제대로 검사하지 않아, 악의적인 사용자가 몰래 명령어를 끼워 넣을 수 있습니다. 최신 버전으로 업데이트하면 이 문제가 해결됩니다.

🇺🇸 원문 (English)

Deno is a JavaScript, TypeScript, and WebAssembly runtime. Prior to 2.7.10, Deno's node:child_process implementation provided an escapeShellArg() helper used when callers passed shell: true to spawn / spawnSync / exec and friends. On Windows, the helper failed to quote arguments that contained cmd.exe metacharacters and did not neutralize % (which cmd.exe expands even inside double-quoted strings). An attacker who controlled any portion of an argument passed to such a call could inject arbitrary additional commands into the spawned cmd.exe invocation. This vulnerability is fixed in 2.7.10.

📍 영향받는 시스템

Windows에서 실행되는 Deno 2.7.10 미만 버전 (shell: true 옵션으로 child_process를 사용하는 환경)

⚔️ 공격 벡터

외부에서 입력받은 값이 shell: true 옵션의 child_process 호출 인자로 전달될 때, cmd.exe 메타문자와 % 문자를 이용해 추가 명령어를 주입

🛡️ 대응 방법

Deno를 2.7.10 이상 버전으로 업데이트하고, 외부 입력을 셸 명령 인자로 직접 사용하지 않도록 코드를 수정

🔧 검증 코드

출력된 deno 버전이 2.7.10 미만이면 취약하므로 업데이트가 필요하고, 2.7.10 이상이면 수정된 버전입니다.

Shell / Script
deno --version 2>/dev/null | head -n 1

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

Windows Runtime