🇰🇷 한글 설명
NGINX에서 사용되는 njs 0.3.1 이하 버전에서 Array.prototype.splice 함수 사용 시 힙 기반 버퍼 오버플로우가 발생합니다. 이는 njs_array_expand의 크기 처리 오류로 인해 발생하며, 공격자가 메모리를 조작할 수 있게 합니다.
💡 쉬운 설명
데이터를 담는 바구니의 크기를 조절하는 과정에서 계산 실수가 발생하여, 정해진 공간보다 더 많은 데이터를 억지로 밀어넣을 수 있는 취약점입니다. 이를 통해 해커가 시스템의 제어권을 탈취할 위험이 있습니다.
🇺🇸 원문 (English)
njs through 0.3.1, used in NGINX, has a heap-based buffer overflow in Array.prototype.splice after a resize, related to njs_array_prototype_splice in njs/njs_array.c, because of njs_array_expand size mishandling.
📍 영향받는 시스템
njs 0.3.1 및 그 이전 버전 (NGINX 내 포함된 경우)
⚔️ 공격 벡터
조작된 JavaScript 코드를 njs 엔진을 통해 실행하여 메모리 오버플로우 유도
🛡️ 대응 방법
njs를 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 결과에서 njs의 버전을 확인하여 0.3.1 이하인지 체크
nginx -V 2>&1 | grep -i njs