🇰🇷 한글 설명
Node.js용 오픈소스 샌드박스인 vm2의 3.11.6 미만 버전에서 bufferAllocLimit 제한이 제대로 적용되지 않는 취약점이 발견되었습니다. 공격자가 제어 가능한 길이를 사용하여 Buffer.concat 또는 Buffer.from을 호출할 경우, 설정된 메모리 제한을 우회하여 대규모 외부 메모리를 할당할 수 있습니다. 이로 인해 호스트 프로세스의 메모리가 고갈되어 서비스 거부(DoS)가 발생할 수 있습니다.
💡 쉬운 설명
샌드박스라는 안전한 격리 공간에서 메모리 사용량을 제한하는 규칙이 특정 상황에서 작동하지 않는 문제입니다. 공격자가 이 규칙을 피해 메모리를 엄청나게 많이 사용하게 만들어 컴퓨터를 멈추게 할 수 있습니다.
🇺🇸 원문 (English)
vm2 is an open source vm/sandbox for Node.js. Prior to 3.11.6, the bufferAllocLimit enforcement in lib/setup-sandbox.js does not cover Buffer.concat(list, totalLength) or Buffer.from(arrayLike) with an attacker-controlled length, allowing sandbox code to perform large synchronous host external-memory allocations that bypass the configured cap and can exhaust the host process. This issue is fixed in version 3.11.6.
📍 영향받는 시스템
vm2 version < 3.11.6
⚔️ 공격 벡터
샌드박스 내부에서 공격자가 조작한 길이를 사용하여 대규모 메모리 할당 함수를 호출하는 방식
🛡️ 대응 방법
vm2 버전을 3.11.6 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 결과에서 vm2의 버전이 3.11.6 미만인지 확인하십시오.