Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
nginx-rift-scanner — CVE-2026-42945 (NGINX Rift)에 대한 탐지 전용 스캐너, ngx_http_rewrite_module의 힙 오버플로우. 버전 탐지 + nginx.conf 패턴 분석. Python 3 표준 라이브러리 전용, 네트워크 호출 없음. | Kitploit
도구/GitHubGitHub/simota/nginx-rift-scanner
Static AnalysisVulnerability ScannersVulnerability AnalysisCode AnalysisConfiguration AuditingWeb Security
GitHubsimota/nginx-rift-scanner

nginx-rift-scanner

CVE-2026-42945 (NGINX Rift)에 대한 탐지 전용 스캐너, ngx_http_rewrite_module의 힙 오버플로우. 버전 탐지 + nginx.conf 패턴 분석. Python 3 표준 라이브러리 전용, 네트워크 호출 없음.

저장소 보기
133개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

nginx-rift-scanner

의존성 없는 Python 3 스캐너로 CVE-2026-42945 ("NGINX Rift") — CVSS v4.0 9.2 CRITICAL 힙 기반 버퍼 오버플로우(CWE-122) in ngx_http_rewrite_module을 탐지합니다.

탐지 항목

매 실행마다 두 가지 독립적인 검사가 수행됩니다:

확인방법
버전nginx -V, dpkg/rpm/apk, Dockerfile/compose 이미지 태그
Config 패턴nginx.conf 및 모든 include된 파일의 중괄호 인식 파싱

영향을 받는 버전

에디션취약 버전수정 버전
NGINX OSS0.6.27 – 1.30.11.31.0+ (또는 1.30.1 패치 적용)
NGINX PlusR32 before R32P6R32P6+
NGINX PlusR36 before R36P4R36P4+
NGINX PlusR37+영향 없음

1.30.1 참고 사항: 패치된 1.30.1 안정 빌드는 취약 버전과 동일한 버전 문자열을 보고하므로, 스캐너는 모든 1.30.1을 POTENTIALLY_VULNERABLE(종료 코드 1, 보수적)로 분류합니다. 패키지 변경 로그/어드바이저리 백포트를 확인하여 패치가 적용되었는지 확인하세요.

설정 트리거 패턴

다음 세 가지 조건이 모두 충족되면 범위 블록이 플래그됩니다:

  1. rewrite, if, 또는 set 지시어가 이름 없는 PCRE 캡처 참조($1–$9, 중괄호 형태 ${1}–${9} 포함)를 사용합니다.
  2. 해당 지시어의 값/대체 인자에 ? 문자가 포함됩니다. (rewrite/set의 경우 정규식 패턴 인자는 제외 — 그곳의 ?는 PCRE 수량자입니다. if 조건은 보수적으로 스캔됩니다.)
  3. 동일한 범위 내에서 다른 rewrite/if/set 지시어가 뒤따릅니다 (include는 포함하는 범위에 삽입되므로, include 경계를 넘는 쌍도 감지됩니다).

빠른 시작

root@kitploit:~
# Clone and run
git clone https://github.com/simota/nginx-rift-scanner.git
cd nginx-rift-scanner

# Scan local nginx (binary in PATH, config at /etc/nginx/nginx.conf)
python3 scripts/scan_nginx_rift.py

# Custom paths
python3 scripts/scan_nginx_rift.py \
  --nginx-binary /usr/sbin/nginx \
  --config /etc/nginx/nginx.conf \
  --prefix /etc/nginx \
  --scan-dir /app

# JSON output (CI / SIEM)
python3 scripts/scan_nginx_rift.py --json

# Validate with included fixtures
python3 scripts/scan_nginx_rift.py --config fixtures/vulnerable.nginx.conf
python3 scripts/scan_nginx_rift.py --config fixtures/safe.nginx.conf

종료 코드: 0 = 이상 없음, 1 = 취약 / 잠재적 취약 버전 또는 설정 패턴 플래그됨.

옵션

플래그기본값설명
--nginx-binary PATHnginxnginx 실행 파일 경로
--config PATH/etc/nginx/nginx.conf스캔할 루트 nginx 설정 파일
--prefix PATH--config의 디렉토리상대 include 경로를 해석하는 데 사용되는 nginx 설정 접두사 (nginx는 포함 파일의 디렉토리가 아닌 접두사 기준으로 해석)
--scan-dir PATH.Dockerfile/compose 파일을 검색할 디렉토리
--json—JSON 보고서를 stdout으로 출력

해결 방법

업그레이드 (권장):

  • OSS → NGINX ≥ 1.31.0 (또는 1.30.1 안정 패치 적용)
  • Plus → R32P6+, R36P4+ 또는 R37+

대체 방법 — ?도 포함하는 모든 rewrite/if/set 지시어에서 이름 없는 캡처를 이름 있는 캡처로 대체하세요:

root@kitploit:~
# Vulnerable
rewrite ^/api/(\w+)$ /new-api?path=$1 last;

# Safe
rewrite ^/api/(?<action>\w+)$ /new-api?path=$action last;

오탐지 참고 사항

설정 결과는 휴리스틱 기반입니다. 플래그된 지시어가 반드시 악용 가능성을 보장하지는 않습니다. ?가 URI 구성 경로에 있지 않을 수도 있고, 캡처 참조가 오버플로우를 일으키는 할당과 상호작용하지 않을 수도 있습니다. 모든 결과는 해결 우선순위를 정하기 전에 사람이 검토해야 합니다.

요구 사항

  • Python 3.6+ (표준 라이브러리만 사용 — pip 설치 불필요)
  • nginx 바이너리 (선택 사항 — 없으면 버전 확인 건너뜀)

테스트 픽스처

파일예상 결과
fixtures/vulnerable.nginx.conf3개의 설정 결과, 종료 코드 1
fixtures/safe.nginx.conf0개의 설정 결과, 종료 코드 0

테스트

root@kitploit:~
python3 -m unittest discover -s tests -v

참고 자료

  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-42945
  • F5 어드바이저리 K000161019: https://my.f5.com/manage/s/article/K000161019
도구 다운로드