
CVE-2025-29927을 시뮬레이션합니다. 이는 공격자가 내부 x-middleware-subrequest HTTP 헤더를 악용하여 미들웨어 인가를 우회할 수 있게 하는 중요한 Next.js 취약점입니다. 보호된 라우트에 대한 무단 접근을 시연하고 완화 전략을 제공합니다.
이 저장소는 Next.js의 중요한 취약점인 CVE-2025-29927을 악용하는 방법을 시연합니다. 이 취약점은 공격자가 미들웨어 기반 인증 검사를 우회할 수 있게 합니다. 결함은 내부 x-middleware-subrequest HTTP 헤더의 부적절한 처리에서 비롯되어 보호된 경로에 대한 무단 접근을 가능하게 합니다.
이 프로젝트는 교육 및 연구 목적으로만 제공됩니다. 명시적 허가 없이 시스템에 대해 무단 사용하는 것은 불법이며 비윤리적입니다. 저자는 이 코드의 오용에 대해 책임을 지지 않습니다.
CVE-2025-29927은 다음 버전 이전의 Next.js에 영향을 미칩니다:
이 취약점은 공격자가 HTTP 요청에 x-middleware-subrequest 헤더를 포함할 때 발생합니다. Next.js는 이 헤더를 내부 하위 요청으로 해석하여 중요한 인증 검사를 포함한 미들웨어 실행을 건너뛰게 합니다.
git clone https://github.com/Knotsecurity/CVE-2025-29927-NextJs-Middleware-Simulation.git
cd cve-2025-29927-simulationnpm installnpm run dev
애플리케이션에는 /admin에 보호된 경로가 포함되어 있으며, 사용자 인증을 확인하는 미들웨어로 보호됩니다.
/login 페이지에 접속하여 [email protected]:password123으로 로그인합니다./admin 페이지에 접근해 보십시오. 무단 접근 오류가 발생할 것입니다.x-middleware-subrequest: middleware를 추가한 후 요청을 보냅니다./admin 페이지에 접근할 수 있음을 확인할 수 있습니다.이 취약점으로부터 보호하려면:
npm install next@latestx-middleware-subrequest 헤더가 포함된 요청을 거부합니다.