🔍 CVE-2026-120440

5.3
CVSS Score
MEDIUM
2026-11-02
2026-11-02 19:34
✅ 완료

🇰🇷 한글 설명

QuickJS-NG 0.16.0 이전 버전의 quickjs.c 내 js_atomics_store() 함수는 RangeError를 반환할 때 변환된 값을 해제하지 않아 메모리 누수가 발생합니다. 공격자는 버퍼를 분리하거나 축소하는 valueOf를 이용해 Atomics.store를 반복 호출함으로써 힙 메모리를 고갈시켜 서비스 거부(DoS)를 유발할 수 있습니다.

💡 쉬운 설명

자바스크립트를 실행할 수 있는 공격자가 특정 함수를 반복 호출하면, 프로그램이 사용하고 나서 반환하지 않는 메모리가 계속 쌓입니다. 결국 메모리가 가득 차 서비스가 멈추거나 비정상 종료될 수 있습니다.

🇺🇸 원문 (English)

QuickJS-NG before 0.16.0 contains a memory leak vulnerability in js_atomics_store() in quickjs.c that fails to free the converted value when returning a RangeError. Attackers running JavaScript can repeatedly call Atomics.store with a valueOf that detaches or shrinks the buffer to exhaust heap memory and cause denial of service.

📍 영향받는 시스템

QuickJS-NG 0.16.0 미만 버전을 사용하는 모든 시스템 및 애플리케이션

⚔️ 공격 벡터

공격자가 자바스크립트 코드를 실행할 수 있는 환경에서 valueOf로 버퍼를 분리/축소하며 Atomics.store를 반복 호출하여 힙 메모리를 고갈시킵니다.

🛡️ 대응 방법

QuickJS-NG를 0.16.0 이상 버전으로 업데이트합니다.

🔧 검증 코드

출력된 버전이 0.16.0 미만이면 취약하므로 업데이트가 필요하고, 0.16.0 이상이면 패치가 적용된 것입니다. 버전 정보가 없으면 설치 경로와 패키지 관리자를 통해 직접 확인해야 합니다.

Shell / Script
qjs --version 2>/dev/null || grep -rn 'QJS_VERSION' /usr/include /usr/local/include 2>/dev/null | head -5

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Oracle Java SE