
CVE-2025-29927을 위한 기능적 익스플로잇, Next.js 미들웨어 인증 우회 취약점입니다. 보호된 라우트에서 인증 검사를 우회하기 위해 `x-middleware-subrequest` 헤더를 포함한 조작된 HTTP 요청을 전송합니다.
이 저장소는 Next.js의 중대한 인증 우회 취약점인 CVE-2025-29927에 대한 기능적 익스플로잇을 포함하고 있습니다. 이 결함으로 인해 공격자는 미들웨어 기반 인증 및 권한 부여 검사를 우회하여 보호된 경로에 무단 접근할 수 있습니다.
CVE-2025-29927은 Next.js 미들웨어의 중대한 취약점으로, 공격자가 내부 헤더인 x-middleware-subrequest를 포함한 특수하게 조작된 HTTP 요청을 전송하여 인증 및 권한 부여 검사를 우회할 수 있습니다. 이 헤더는 미들웨어 실행 중 무한 재귀를 방지하기 위해 내부적으로 사용됩니다. 그러나 부적절한 처리로 인해 공격자가 이 메커니즘을 악용하여 미들웨어 검사를 건너뛰고, 잠재적으로 민감한 관리 경로와 보호된 콘텐츠를 노출시킬 수 있습니다.
이 취약점은 다음 버전 이전의 Next.js에 영향을 미칩니다:
인증 또는 보안 검사와 같은 중요한 작업에 미들웨어를 사용하고 영향을 받는 버전에서 실행되는 애플리케이션은 이 익스플로잇에 취약합니다. 특히 Vercel에 호스팅된 배포는 이 취약점으로부터 자동으로 보호됩니다.
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python3 exploit.py --host <IP> --port <PORT> --path <PATH> --method <METHOD>