Kant's IT/Vulnerability

CVE-2025-29927: Next.js 인증 우회 취약점 상세 분석 및 대응 방안

Kant Jo 2025. 5. 6. 17:00

인증 우회하는 Next.js 취약점 발견, 최신 버전으로 즉시 업데이트해야

 

인증 우회하는 Next.js 취약점 발견, 최신 버전으로 즉시 업데이트해야

이 취약점(CVE-2025-29927)은 서비스에 연결하기 위해 “미들웨어” 기능이 활성화된 경우 인증 우회를 허용한다. Next.js가 연결하는 미들웨어가 인증, 액세스 제어 또는 세션 쿠키의 유효성 확인과

www.itworld.co.kr

 

Next.js서 발견된 치명적 취약점, 공격자 인증 우회 가능성 제기

 

Next.js서 발견된 치명적 취약점, 공격자 인증 우회 가능성 제기

오픈소스 자바스크립트 프레임워크인 Next.js에서 발견된 치명적인 취약점(CVE-2025-29927)을 악용, 공격자가 미들웨어 기반의 인증을 우회하고 시스템에 접근할 수 있는 가능성이 제기됐다.

www.boannews.com

 

Critical Next.js Middleware Vulnerability Allows Attackers to Bypass Authorization

 

Critical Next.js Middleware Vulnerability Allows Attackers to Bypass Authorization

A severe vulnerability has been identified in Next.js, a popular React framework used for building web applications, under the designation CVE-2025-29927.

gbhackers.com

 

Critical Next.js Vulnerability Allows Attackers to Bypass Middleware Authorization Checks

 

Attackers can bypass middleware auth checks by exploiting critical Next.js flaw

 

Attackers can bypass middleware auth checks by exploiting critical Next.js flaw

A critical flaw in the Next.js React framework could be exploited to bypass authorization checks under certain conditions.

securityaffairs.com

 

CVE-2025-29927: Next.js Middleware Flaw | ThreatLabz

 

CVE-2025-29927: Next.js Middleware Flaw | ThreatLabz

Discover CVE-2025-29927, a Next.js Middleware flaw allowing authorization bypass. Update to a patch version to prevent exploitation.

www.zscaler.com

 

  • 취약점 개요
    • 취약점 명칭: CVE-2025-29927
    • 영향도: 치명적 (CVSS 9.1)
    • 영향 버전: Next.js 11.1.4 이상 모든 버전
    • 공격 방식: x-middleware-subrequest 헤더를 이용한 인증 우회
    • 주요 영향: 인증 우회, 관리자 페이지 접근, 세션 무력화, CSP 우회, 캐시 중독 등
  • 취약점 원인 및 작동 방식
    • Next.js의 Middleware가 내부 루프 방지 목적으로 사용하는 x-middleware-subrequest 헤더를 악용
    • 공격자는 해당 헤더에 특정 문자열(middleware, src/middleware 등)을 삽입하여 인증 우회 가능
    • 최근 버전에서는 : 구분자와 최대 재귀 깊이(MAX_RECURSION_DEPTH)를 우회하는 반복 패턴으로 회피
      • 예시
        x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware
  • 취약 버전 및 패치 대상
버전
패치 전
패치 적용 버전
11.x 11.1.4 이상 패치 없음 (대체 필요)
12.x < 12.3.5 12.3.5 이상
13.x < 13.5.9 13.5.9 이상
14.x < 14.2.25 14.2.25 이상
15.x < 15.2.3 15.2.3 이상
  • 비패치 환경 임시 대응 방안
    • 프록시 또는 엣지에서 x-middleware-subrequest 헤더 차단
      • nginx 예시
          if ($http_x_middleware_subrequest) {
              return 403;
          }
      • Middleware 내부에서 헤더 필터링은 비권장
    • Vercel, Netlify, Static Export 사용 환경은 영향 없음
  • 보안 패치 및 구조 개선
    • 외부 요청 시 내부용 헤더 제거 (x-middleware-subrequest)
    • 해당 헤더의 값 검증에 임의의 hex 문자열 토큰 적용
    • 인증 로직과 미들웨어의 의존성 최소화 및 세션 검증 이중화 권고
  • 공격 시나리오 예시
    • 공격자가 일반 사용자로 로그인 후, 인증 우회 헤더 조작을 통해 관리자 페이지 접근
    • 전자상거래 사이트의 보안 필터를 우회하여 권한 상승
    • 캐시 중독(Cache Poisoning)을 통한 서비스 불능 상태 유도
  • 보안 권고
    • Next.js 12.x~15.x 사용자 즉시 최신 버전으로 업데이트
    • 모든 인증 로직은 미들웨어 외 서버 측 검증 절차와 병행 구성 필요
    • 보안 헤더의 신뢰성 확보를 위한 WAF, L7 프록시 정책 강화 필수
    • 오픈소스 프레임워크 사용 시, 공식 보안 권고문 확인과 changelog 모니터링 지속 수행
  • 결론
    • 미들웨어 기반 인증 구조는 편리하지만 단독으로는 보안적 한계 존재
    • 공격자는 HTTP 헤더 조작이라는 간단한 기법으로 권한 우회 가능
    • 모든 계층에서의 다중 검증(MFA, 세션 검증, RBAC)은 선택이 아닌 필수