영향
공격자는 Next.js 애플리케이션의 보안 논리 및 인증 확인을 우회하여 잠재적으로 제한된 리소스 [S1]에 대한 전체 액세스 권한을 얻을 수 있습니다. 이 취약점은 권한이 필요하지 않고 사용자 상호 작용 [S2] 없이 네트워크를 통해 악용될 수 있으므로 CVSS 점수 9.1로 심각한 취약점으로 분류됩니다.
근본 원인
이 취약점은 Next.js가 미들웨어 아키텍처 [S1] 내에서 내부 하위 요청을 처리하는 방식에서 발생합니다. 인증을 위해 미들웨어(CWE-863)를 사용하는 애플리케이션은 내부 헤더 [S2]의 출처를 제대로 확인하지 않으면 취약합니다. 특히, 외부 공격자는 요청에 x-middleware-subrequest 헤더를 포함시켜 프레임워크가 요청을 이미 승인된 내부 작업으로 처리하도록 속여 미들웨어의 보안 논리 [S1]를 효과적으로 건너뛸 수 있습니다.
FixVibe가 이를 테스트하는 방법
FixVibe는 이제 이를 게이트 활성 검사로 포함합니다. 도메인 확인 후 active.nextjs.middleware-bypass-cve-2025-29927는 기준 요청을 거부하는 Next.js 엔드포인트를 찾은 다음 미들웨어 우회 조건에 대해 좁은 제어 프로브를 실행합니다. CVE-2025-29927와 일치하는 방식으로 보호된 경로가 거부에서 액세스 가능으로 변경되는 경우에만 보고하며, 수정 프롬프트는 Next.js를 업그레이드하고 패치가 적용될 때까지 에지에서 내부 미들웨어 헤더를 차단하는 데 교정 집중을 유지합니다.
구체적인 수정
- Next.js 업그레이드: 애플리케이션을 패치 버전(12.3.5, 13.5.9, 14.2.25 또는 15.2.3[S1, S2])으로 즉시 업데이트하세요.
- 수동 헤더 필터링: 즉시 업그레이드가 불가능한 경우, 들어오는 모든 외부 요청이 Next.js 서버 [S1]에 도달하기 전에
x-middleware-subrequest헤더를 제거하도록 WAF(웹 애플리케이션 방화벽) 또는 역방향 프록시를 구성하십시오. - Vercel 배포: Vercel에서 호스팅되는 배포는 플랫폼의 방화벽 [S2]에 의해 사전에 보호됩니다.
