🔍 CVE-2026-8711

8.1
CVSS Score
HIGH
2026-05-19
2026-07-23 20:10
✅ 완료

🇰🇷 한글 설명

NGINX JavaScript의 js_fetch_proxy 지시문이 클라이언트 제어 변수(HTTP 헤더, URL 인자, 쿠키 등)로 설정되고 ngx.fetch() 함수를 사용하는 경우 발생하는 취약점입니다. 인증되지 않은 공격자가 조작된 HTTP 요청을 전송하여 힙 버퍼 오버플로우를 일으켜 NGINX 워커 프로세스가 재시작되거나, ASLR이 비활성화된 시스템에서는 임의 코드 실행이 가능합니다.

💡 쉬운 설명

NGINX 웹서버의 JavaScript 기능에서 사용자의 입력을 검증하지 않고 처리할 때 발생하는 메모리 오버플로우 문제입니다. 공격자가 특수한 요청을 보내면 서버가 멈추거나 악성 코드를 실행할 수 있습니다.

🇺🇸 원문 (English)

NGINX JavaScript has a vulnerability when the js_fetch_proxy directive is configured with at least one client-controlled NGINX variable (for example, $http_*, $arg_*, $cookie_*) and a location invoking the ngx.fetch() operation from NGINX JavaScript. An unauthenticated attacker can exploit this vulnerability by sending crafted HTTP requests. This may cause a heap buffer overflow in the NGINX worker process leading to a restart. Additionally, attackers can execute code on systems with Address Space Layout Randomization (ASLR) disabled or when the attacker can bypass ASLR. Note: Software versions which have reached End of Technical Support (EoTS) are not evaluated.

📍 영향받는 시스템

js_fetch_proxy 지시문이 활성화된 NGINX JavaScript (njs) 모듈 탑재 NGINX 버전 (버전은 NGINX 보안 공지 확인 필요)

⚔️ 공격 벡터

HTTP 헤더, URL 파라미터, 쿠키 등 클라이언트 제어 변수를 js_fetch_proxy에 포함시킨 location으로 조작된 요청 전송

🛡️ 대응 방법

NGINX를 최신 보안 패치 버전으로 업그레이드하거나, js_fetch_proxy 설정에서 클라이언트 변수 사용을 제거하고 고정값만 사용

🔧 검증 코드

설치된 NGINX 버전을 확인하고, js_fetch_proxy 설정이 있는지 확인한 후 NGINX 보안 공지에서 명시한 취약 버전 범위와 비교

Shell / Script
nginx -v 2>&1 && nginx -T 2>&1 | grep -A5 'js_fetch_proxy'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Nginx