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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
ai-vuln-rediscovery-nginx-cve-2026-42945 — # CVE-2026-42945 재현 가능한 AI 지원 취약점 재발견 nginx의 힙 버퍼 오버플로우에 대한 기술 분석, PoC 트리거, 패치 검증을 포함한 CVE-2026-42945의 재현 가능한 AI 지원 취약점 재발견. | Kitploit
도구/GitHubGitHub/chamsbouzaiene/ai-vuln-rediscovery-nginx-cve-2026-42945
Vulnerability AnalysisWeb SecurityPapers & ResearchLearning & EducationAI SecurityBinary Exploitation
GitHubchamsbouzaiene/ai-vuln-rediscovery-nginx-cve-2026-42945

ai-vuln-rediscovery-nginx-cve-2026-42945

# CVE-2026-42945 재현 가능한 AI 지원 취약점 재발견 nginx의 힙 버퍼 오버플로우에 대한 기술 분석, PoC 트리거, 패치 검증을 포함한 CVE-2026-42945의 재현 가능한 AI 지원 취약점 재발견.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

nginx에서 CVE-2026-42945의 AI 지원 재발견

이 저장소는 nginx ngx_http_rewrite_module에 대한 재현 가능한 AI 지원 취약점 재발견 실험을 문서화하며, 이후 CVE-2026-42945와 연결되었습니다.

실험은 의도적으로 범위를 좁혔습니다. 취약한 파일인 src/http/ngx_http_script.c가 모델에 직접 제공되어 감사(audit)되었습니다. 이는 AI 시스템이 전체 nginx 코드베이스에서 처음부터 자율적으로 문제를 찾았다는 주장이 아닙니다.

요약

감사된 버그는 nginx rewrite 처리 중 오래된(스테일) 스크립트 엔진 상태로 인해 발생하는 힙 버퍼 오버플로입니다.

높은 수준에서:

  1. ?를 포함하는 rewrite 대체 문자열이 e->is_args = 1을 설정합니다.
  2. 취약한 코드에서는 rewrite가 끝난 후 e->is_args가 지워지지 않습니다.
  3. 이후에 set, if 또는 rewrite 표현식에서 $1과 같은 이름 없는 정규식 캡처를 복사할 때, 캡처가 원시(raw)로 복사될 것처럼 대상 버퍼의 크기를 조정할 수 있습니다.
  • 그러면 쓰기 단계에서 오래된 e->is_args = 1을 보고 캡처를 URI 이스케이프합니다.
  • 이스케이프는 공백과 같은 바이트를 1바이트에서 3바이트로 확장할 수 있으므로, 쓰기 단계가 길이 단계에서 계산된 할당을 초과합니다.
  • 로컬 AddressSanitizer 재현은 다음에서 힙 버퍼 오버플로를 확인합니다:

    root@kitploit:~
    ngx_escape_uri
    ngx_http_script_copy_capture_code
    ngx_http_rewrite_handler
    

    이 저장소의 구성

    root@kitploit:~
    .
    ├── README.md
    ├── LICENSE
    ├── prompts/
    │   ├── audit_prompt.md
    │   └── poc_prompt.md
    ├── poc/
    │   ├── trigger.py
    │   ├── nginx.conf
    │   ├── reproduce.sh
    │   └── expected_output.txt
    ├── docs/
    │   ├── technical-analysis.md
    │   ├── vulnerability-breakdown.md
    │   └── methodology.md
    └── screenshots/
        └── asan-crash.png
    

    재현 방법

    PoC는 AddressSanitizer가 활성화된 취약한 nginx의 로컬 랩 빌드를 위해 설계되었습니다. 127.0.0.1:18080에서 nginx를 시작하고, 조작된 요청을 로컬 서버에 보낸 후 충돌 증거를 출력합니다.

    1. ASan으로 취약한 nginx 빌드

    영향을 받는 nginx 소스 트리를 사용하세요. 실험은 clang과 ASan으로 빌드된 nginx 1.30.0에서 검증되었습니다:

    root@kitploit:~
    ./auto/configure \
      --prefix=/tmp/nginx-asan-poc \
      --with-cc-opt='-O0 -g -fsanitize=address -fno-omit-frame-pointer' \
      --with-ld-opt='-fsanitize=address'
    
    make -j"$(getconf _NPROCESSORS_ONLN 2>/dev/null || sysctl -n hw.ncpu)"
    

    2. PoC 실행

    이 저장소에서:

    root@kitploit:~
    NGINX_BIN=/path/to/vulnerable/nginx/objs/nginx ./poc/reproduce.sh
    

    이 저장소가 검증에 사용된 nginx 소스 체크아웃 내부에 직접 배치되면, 스크립트는 자동으로 ../../objs/nginx를 찾습니다.

    3. 예상 결과

    성공적인 재현은 다음과 유사한 ASan 보고서를 출력합니다:

    root@kitploit:~
    ERROR: AddressSanitizer: heap-buffer-overflow
    WRITE of size 1
        #0 ngx_escape_uri ngx_string.c:1687
        #1 ngx_http_script_copy_capture_code ngx_http_script.c:1399
        #2 ngx_http_rewrite_handler ngx_http_rewrite_module.c:180
    

    poc/expected_output.txt를 참조하세요.

    ASan crash screenshot

    최소 트리거 설정

    PoC에서 사용하는 nginx 구성은 의도적으로 작습니다:

    root@kitploit:~
    location / {
        rewrite ^(.*) /new?c=1;
        set $myvar $1;
        return 200 "$myvar\n";
    }
    

    첫 번째 rewrite는 대체 문자열에 ?가 포함되어 있으므로 e->is_args를 설정합니다. 이후의 set은 그 오래된 상태가 여전히 있는 동안 $1을 평가합니다.

    공식 패치

    최소 패치는 정규식 rewrite가 끝날 때 스크립트 엔진의 인수 상태 플래그를 재설정합니다:

    root@kitploit:~
    e->is_args = 0;
    e->quote = 0;
    

    이 실험에 사용된 소스 트리에서 수정은 다음 커밋으로 나타납니다:

    root@kitploit:~
    524977e7c534e87e5b55739fa74601c9f1102686
    Rewrite: fixed escaping and possible buffer overrun
    

    핵심은 패치의 크기가 아니라 복원하는 상태 불변성입니다: 길이 단계와 쓰기 단계는 캡처가 URI 인수로 복사되고 있는지에 대해 일치해야 합니다.

    실험 투명성

    이 실험은 최첨단 코딩 에이전트를 감사 보조 도구로 사용했습니다. 프롬프트는 모델이 src/http/ngx_http_script.c의 메모리 안전 문제에 집중하고, 두 단계(길이/쓰기) 불일치에 세심한 주의를 기울이도록 명시적으로 지시했습니다.

    중요한 제한 사항:

    • 취약한 소스 파일이 직접 제공되었습니다.
    • 감사 프롬프트는 버그 클래스에 매우 집중되어 있었습니다.
    • 모델은 검증 중 로컬 저장소 기록에 접근할 수 있었습니다.
    • 결과는 자율적인 버그 사냥이 아닌 안내된 재발견으로 해석되어야 합니다.
    • PoC는 충돌/ASan 증거만 보여줍니다; 무기화된 익스플로잇이 아닙니다.

    정확한 프롬프트는 prompts/audit_prompt.md와 prompts/poc_prompt.md에 포함되어 있습니다.

    책임 있는 사용

    이 저장소는 방어 연구, 패치 검증 및 재현성을 위해 제공됩니다. PoC는 자신이 통제하는 로컬 랩 인스턴스에서만 실행하십시오.

    라이선스

    이 저장소의 문서와 PoC 하네스는 MIT 라이선스에 따라 배포됩니다. nginx 자체는 포함되지 않으며 자체 라이선스에 따릅니다.

    도구 다운로드