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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-29057-POC — Next.js 요청 스머글링(CVE-2026-29057)을 재현하는 Docker 기반 랩으로, 취약한 15.5.12 버전과 패치된 15.5.13 버전을 raw 청크 HTTP 페이로드로 비교합니다. | Kitploit
도구/GitHubGitHub/learnerxuan/cve-2026-29057-poc
Vulnerability AnalysisExploitationWeb Application ExploitationWeb SecurityPenetration TestingPapers & ResearchLearning & EducationLabs & Practice
GitHublearnerxuan/cve-2026-29057-poc

CVE-2026-29057-POC

Next.js 요청 스머글링(CVE-2026-29057)을 재현하는 Docker 기반 랩으로, 취약한 15.5.12 버전과 패치된 15.5.13 버전을 raw 청크 HTTP 페이로드로 비교합니다.

저장소 보기
8시간 17분 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-29057 — Next.js 요청 스머글링 실습

이 저장소는 CVE-2026-29057에 초점을 맞춘 발표용 실습 자료입니다. 동일한 토폴로지와 원시 HTTP 페이로드를 사용하여 취약한 Next.js 대상(15.5.12)과 패치된 릴리스(15.5.13)를 비교합니다.

격리된 실습 환경에서만 사용하십시오. 요청 비동기화 프로브는 실제 환경에서 공유 연결을 방해할 수 있습니다.

출처

이 저장소는 Nayaka Ghana Subrata의 원본 Next.js Proof of Concept 저장소를 각색한 것입니다. 기초적인 개념 증명 작업에 대한 모든 공로는 원저자에게 돌아갑니다.

저는 해당 작업을 재구성하고 수정하여 CVE-2026-29057에 특화되도록 했으며, 발표 자료, 안내 데모, 실습 시나리오, 설명 주석, 취약 버전 대 패치 버전 비교를 포함합니다. 이 저장소는 교육용 각색물이며 원저자의 저장소로 오인되어서는 안 됩니다.

발표

  • CVE-2026-29057 발표 슬라이드
  • 발표 스크립트
  • 데모 런북
  • 발표자 Q&A

실습이 입증하는 것

  1. 클라이언트가 하나의 청크드 요청을 전송합니다.
DELETE /api/workspace/tasks/1042
  • 그 본문에는 두 번째 요청을 구성하는 바이트가 포함되어 있습니다: GET /secret.
  • 취약한 프록시는 Transfer-Encoding을 제거하고 Content-Length: 0을 추가하지만, 본문 바이트는 여전히 전달됩니다.
  • 하위 중개자는 남은 바이트를 두 번째 요청으로 파싱하고, 파싱된 두 요청을 모두 최종 백엔드로 전달합니다.
  • 대상Next.js백엔드 요청
    취약15.5.12DELETE /api/workspace/tasks/1042, 그다음 GET /secret
    패치15.5.13DELETE /api/workspace/tasks/1042만

    저장소 구조

    root@kitploit:~
    .
    ├── docker-compose.yml
    ├── DEMO-RUNBOOK.md
    ├── PRESENTATION-SCRIPT.md
    ├── PRESENTATION-QA.md
    ├── pocs/cve-2026-29057/
    │   ├── app/
    │   ├── support/server.js
    │   ├── next.config.js
    │   └── Dockerfile
    └── scripts/run-cve-2026-29057.mjs
    

    실습 시작

    요구 사항: Docker Compose 및 Node.js 18 이상.

    root@kitploit:~
    docker compose up --build cve-2026-29057-vuln cve-2026-29057-fixed
    
    • 취약: http://localhost:3105
    • 패치: http://localhost:3106

    차등 데모 실행

    root@kitploit:~
    node scripts/run-cve-2026-29057.mjs http://localhost:3105
    node scripts/run-cve-2026-29057.mjs http://localhost:3106
    

    예상되는 취약 증거:

    root@kitploit:~
    [after] {"backendRequests":["DELETE /api/workspace/tasks/1042","GET /secret"],"flag":"FLAG{one_stream_two_requests}"}
    PoC result: vulnerable behavior reproduced.
    Flag: FLAG{one_stream_two_requests}
    

    예상되는 패치 증거:

    root@kitploit:~
    [after] {"backendRequests":["DELETE /api/workspace/tasks/1042"],"flag":null}
    PoC result: smuggled request was not observed. This usually means the target is patched.
    

    의미 있는 증거는 차등적입니다: 토폴로지와 페이로드는 변경되지 않고, Next.js 버전만 다릅니다.

    블랙박스 발견 스토리

    이 실습은 발표자가 공격자가 두 경로를 마법처럼 알고 있다고 가정할 필요가 없습니다:

    1. 페이지에는 Launch brief가 Task #1042로 눈에 띄게 표시됩니다. Burp를 통해 탐색하면서 Delete task를 클릭하십시오. 프록시 기록에는 정당한 DELETE /api/workspace/tasks/1042 요청이 표시되므로, 캐리어 경로는 정상적인 애플리케이션 트래픽에서 직접 나옵니다.
    2. /robots.txt를 요청합니다. 이는 실수로 배포된 /ops/release-manifest 아티팩트를 가리킵니다.
    3. 해당 매니페스트를 요청합니다. 이는 /api/workspace/를 공용 서비스 접두사로 식별하고, /secret을 내부 라우트로 유출하며, /api/state를 요청 로그로 명시합니다. 플래그 자체는 드러내지 않습니다.

    매니페스트는 실습 서사를 위한 의도적인 정보 노출 약점입니다. 이는 CVE-2026-29057과는 별개이며, CVE는 노출된 백엔드 라우트에 도달하는 요청 프레이밍 우회를 제공합니다.

    라우트 이름은 실습 픽스처이며, 실제 피해자로부터 복구된 경로가 아닙니다. Vercel의 공식 패치는 /rewrites/:path*를 정의하고, /rewrites/poc를 캐리어로 사용하며, 테스트 백엔드에 /secret을 생성하는 회귀 테스트를 추가했습니다. 이 실습은 해당 테스트 구조를 유지하면서 캐리어에 제품 형태의 이름을 부여합니다.

    코드 살펴보기 순서

    1. docker-compose.yml — 취약 버전 대 패치 버전.
    2. pocs/cve-2026-29057/next.config.js — 외부 리라이트 경계.
    3. pocs/cve-2026-29057/support/server.js — 중개자 및 백엔드 파서.
    4. scripts/run-cve-2026-29057.mjs — 원시 청크드 페이로드 및 결과 검사기.
    5. pocs/cve-2026-29057/app/api/ — 증거 재설정 및 읽기 엔드포인트.

    실습 중지

    root@kitploit:~
    docker compose down
    

    출처

    • GitHub Security Advisory GHSA-ggv3-7p47-pfv8
    • Next.js 패치 커밋
    • NVD 레코드
    도구 다운로드