
CVE-2025-29927 (Next.js) 익스플로잇 - 인가 우회

이 저장소가 마음에 드시나요? ⭐를 남겨주세요!
교육 및 승인된 보안 연구 목적으로만 사용하세요.
@UNICORDev 제작 (@NicPWNs 및 @Dev-Yeoj)
Next.js는 풀스택 웹 애플리케이션을 구축하기 위한 React 프레임워크입니다. 버전 1.11.4부터 12.3.5, 13.5.9, 14.2.25, 15.2.3 이전 버전까지는, 권한 검사가 미들웨어에서 수행되는 경우 Next.js 애플리케이션 내에서 권한 검사를 우회할 수 있습니다. 안전한 버전으로 패치하는 것이 불가능하다면, x-middleware-subrequest 헤더를 포함한 외부 사용자 요청이 Next.js 애플리케이션에 도달하지 못하도록 차단하는 것이 좋습니다. 이 취약점은 12.3.5, 13.5.9, 14.2.25, 15.2.3에서 수정되었습니다.
취약한 Next.js 버전에서는 권한 검사가 미들웨어에서 수행되는 경우, x-middleware-subrequest 헤더를 포함한 요청을 전송하여 애플리케이션 내의 권한 검사를 우회할 수 있습니다. 이 익스플로잇은 대상의 Next.js 버전을 확인한 후 다양한 특수 제작된 헤더를 전송하여 미들웨어 우회를 달성합니다.
python3 exploit-CVE-2025-29927.py -u <target-url>
python3 exploit-CVE-2025-29927.py -u <target-url> [-v <version>] [-m <middleware>]
python3 exploit-CVE-2025-29927.py -h
-u Target URL to check and exploit
-v Specify Next.js version if known (e.g., 15.2.0) [Optional]
-m Specify middleware file name/location if known (e.g. src/middleware) [Optional]
-h Show this help menu.
여기에서 exploit-CVE-2025-29927.py 다운로드

Next.js 버전 13.5.6
cd vulnerable-next-app
docker compose up
python3 exploit-CVE-2025-29927.py -u http://localhost:3000/admin