🇰🇷 한글 설명
NGINX Plus와 NGINX Open Source의 ngx_http_charset_module에서 특정 설정 조합(charset, source_charset, charset_map, proxy_pass with disabled buffering)을 사용할 때 heap buffer over-read 취약점이 발생합니다. 인증되지 않은 공격자가 특수 요청을 보내 메모리 정보 유출 또는 NGINX 워커 프로세스 재시작을 유발할 수 있습니다.
💡 쉬운 설명
웹서버 NGINX의 문자 인코딩 처리 기능에서 메모리를 잘못 읽을 수 있는 버그가 있습니다. 누구나 인터넷을 통해 특수한 요청을 보내서 서버의 메모리 정보를 빼내거나 서버를 재시작하게 할 수 있습니다.
🇺🇸 원문 (English)
NGINX Plus and NGINX Open Source have a vulnerability in the ngx_http_charset_module module. When charset, source_charset, and charset_map and proxy_pass with disabled buffering ("off") directives are configured, unauthenticated attackers can send requests that with conditions beyond the attackers' control to cause a heap buffer over-read in the NGINX worker process, leading to limited disclosure of memory or a restart.
Note: Software versions which have reached End of Technical Support (EoTS) are not evaluated.
📍 영향받는 시스템
NGINX Plus (특정 버전), NGINX Open Source (EoTS 이상 버전 제외)
⚔️ 공격 벡터
특정 설정을 한 NGINX에 조작된 HTTP 요청을 송신하여 heap buffer over-read 트리거
🛡️ 대응 방법
NGINX를 최신 패치 버전으로 업그레이드하거나 charset/charset_map/proxy_pass with buffering off 설정 비활성화
🔧 검증 코드
현재 설치된 NGINX 버전을 확인합니다. 영향받는 버전이면 패치 버전과 비교하여 업그레이드 필요 여부 판단
nginx -v 2>&1 | grep -oP '(nginx|version)[/\s]+\K[0-9.]+'