
1. CVE 초도 발표일 : 2026/05/13
2. 문제점
A. NGINX ngx_http_rewrite_module 에서 보안취약점 발생
B. 보안취약점 발생 조건 (4가지 모두 만족할 때 발생)
i. rewrite 사용
ii. rewrite replacement 문자열에 ? 포함
iii. unnamed capture ($1, $2)
iv. 이후 rewrite, if, set 등의 추가 처리 발생
3. 보안취약점 발생 예시 설정 구문
A. rewrite 뒤에 rewrite / if / set이 이어지고, $1, $2 같은 unnamed PCRE capture와 ? 포함
replacement가 함께 쓰이는 경우
i. PCRE capture : 정규표현식에서 () 로 매칭된 값을 임시 변수처럼 저장하는 기능
B. Rewrite ^/users/([0-9]+)/profile/(.*)$ /profile.php?id=$1&tab=$2 Last;
4. 보안취약점 완화 설정 구문
A.PCRE Capture 대신 명시적으로 변수 기입
B.Rewrite ^/users/(?<user_id>[0-9]+)/profile/(?<section>.*)$ /
profile.php?id=$user_id&tab=$section Last;
5. 패치 (하단 버전으로 패치 권고)
A. NGINX Plus
- R32 P6 / R36 P4 / R37.0
B. NGINX OSS
- 1.30.1 / 1.31.0
C. NGINX Ingress Controller
- 5.4.2
6. F5 링크 : https://my.f5.com/manage/s/article/K000161019
1. CVE 초도 발표일 : 2026/05/13
2. 문제점
A. NGINX ngx_http_rewrite_module 에서 보안취약점 발생
B. 보안취약점 발생 조건 (4가지 모두 만족할 때 발생)
i. rewrite 사용
ii. rewrite replacement 문자열에 ? 포함
iii. unnamed capture ($1, $2)
iv. 이후 rewrite, if, set 등의 추가 처리 발생
3. 보안취약점 발생 예시 설정 구문
A. rewrite 뒤에 rewrite / if / set이 이어지고, $1, $2 같은 unnamed PCRE capture와 ? 포함
replacement가 함께 쓰이는 경우
i. PCRE capture : 정규표현식에서 () 로 매칭된 값을 임시 변수처럼 저장하는 기능
B. Rewrite ^/users/([0-9]+)/profile/(.*)$ /profile.php?id=$1&tab=$2 Last;
4. 보안취약점 완화 설정 구문
A.PCRE Capture 대신 명시적으로 변수 기입
B.Rewrite ^/users/(?<user_id>[0-9]+)/profile/(?<section>.*)$ /
profile.php?id=$user_id&tab=$section Last;
5. 패치 (하단 버전으로 패치 권고)
A. NGINX Plus
- R32 P6 / R36 P4 / R37.0
B. NGINX OSS
- 1.30.1 / 1.31.0
C. NGINX Ingress Controller
- 5.4.2
6. F5 링크 : https://my.f5.com/manage/s/article/K000161019