NGINX Rift (CVE-2026-42945): 리라이트 모듈의 18년 된 힙 오버플로
by xingwangzhe
NGINX
CVE
Security
RCE
Heap Overflow
Web Server
NGINX Rift (CVE-2026-42945, CVSS 9.2): NGINX 리라이트 모듈의 치명적 힙 버퍼 오버플로우, depthfirst의 AI 분석 시스템이 자율 발견. 2008년 도입되어 18년간의 NGINX 릴리스에 영향, 단일 조작된 HTTP 요청으로 무인증 RCE 가능.
눈에 띄지 않게 숨어있던 취약점
2026년 5월 13일, F5와 depthfirst가 CVE-2026-42945를 공동 공개 — NGINX ngx_http_rewrite_module의 치명적 힙 버퍼 오버플로우. 2008년 NGINX 0.6.27에서 도입, 1.30.0까지 모든 후속 버전에 영향.
| 지표 | 값 |
|---|---|
| CVE | CVE-2026-42945 |
| CVSS v4.0 | 9.2 (치명적) |
| 발견 | depthfirst (자율 AI 분석) |
| 도입 | 2008 (NGINX 0.6.27) |
| 잠복 | 18년 |
| 취약점 유형 | 힙 버퍼 오버플로우 (2패스 길이 불일치) |
| 인증 필요 | 없음 |
| 영향 | 원격 코드 실행 또는 워커 크래시 |
| 수정 버전 | NGINX 1.31.0 / 1.30.1 |
취약점 찾기
grep -rn 'rewrite.*\?.*\$[0-9]' /etc/nginx/결과가 있으면 설정이 영향받은 것.
완화
즉시: 업그레이드
| 버전 | 조치 |
|---|---|
| NGINX Open Source | 1.31.0 또는 1.30.1으로 업그레이드 |
임시: 명명된 캡처 그룹 사용
# 취약 — 교체에 ?가 있는 무명 캡처rewrite ^/users/([0-9]+)/profile/(.*)$ /profile.php?id=$1&tab=$2 last;
# 완화 — 명명된 캡처가 취약 경로 우회rewrite ^/users/(?<user_id>[0-9]+)/profile/(?<section>.*)$ /profile.php?id=$user_id&tab=$section last;