문의하기
블로그

Next.js 미들웨어 인증 우회 취약점 공개: 52만 개 이상 웹 자산이 위험에 노출

2025년 3월 21일, Vercel의 Next.js 프레임워크에서 인증 우회 취약점인 CVE-2025-29927이 공개되었다. 이번 글에서는 Next.js 미들웨어 취약점 CVE-2025-29927의 위협과 취약점 영향을 받는 노출된

2025년 3월 21일, Vercel의 Next.js 프레임워크에서 인증 우회 취약점인 CVE-2025-29927이 공개되었다. 이번 글에서는 Next.js 미들웨어 취약점 CVE-2025-29927의 위협과 취약점 영향을 받는 노출된 인스턴스 분석, 보안 대응에 대해 다룬다.

Next.js 미들웨어 인증 우회 취약점(CVE-2025-29927) 개요

이 취약점은 Next.js의 **미들웨어(Middleware)**가 HTTP 요청 처리 과정에서 인증 상태를 적절히 확인하지 못하는 문제로, 인증되지 않은 사용자가 보호된 리소스에 접근할 수 있는 심각한 보안 결함이다.
공식 발표에 따르면, 이 취약점은 Next.js의 beforeFiles 라우팅 처리 로직과 관련이 있으며, Vercel은 해당 문제를 v14.1.0-canary.35 이상에서 해결했다.

  • 취약점 ID: CVE-2025-29927
  • 공개일: 2025년 3월 27일
  • 영향 버전: Next.js 14.2.25 미만 버전
  • 공식 수정 버전: Next.js 12.3.5, 13.5.9, 14.2.25, 15.2.3 버전에서 해결
  • 심각도(CVSS): High 

Criminal IP를 활용한 Next.js 미들웨어 인증 우회 위협 헌팅 결과

위협 인텔리전스 검색엔진 Criminal IP에서 “X Powered By: Next.js” 쿼리를 통해 전 세계에 노출된 Next.js를 탐지할 수 있다.

Criminal IP Search Query: “X Powered By: Next.js”

Criminal IP에서 "X Powered By: Next.js"로 검색한 결과 528,421건 노출 (2025년 4월 3일 기준)
Criminal IP에서 “X Powered By: Next.js”로 검색한 결과 528,421건 노출 (2025년 4월 3일 기준)

Criminal IP에서 “X Powered By: Next.ja” HTTP 헤더가 포함된 자산을 탐지한 결과, 총 528,421 건이 확인된다. 이 중에는 이미 취약한 상태로 다수의 CVE 영향을 받는 자산이 다수 포함되어있었다. 

Next.js 자산 상세 분석 및 취약점

특히, 아래의 특정 IP 주소 Report 페이지를 보면 해당 IP 주소의 열린 포트와 취약점 여부, Exploit DB 여부 등을 확인할 수 있다.

Criminal IP 위협 헌팅으로 탐지된 Next.js 취약점에 노출된 IP 주소 리포트
Criminal IP 위협 헌팅으로 탐지된 Next.js 취약점에 노출된 IP 주소 리포트

해당 IP 주소는 Next.js 미들웨어 취약점 영향을 받을 수 있는 자산 검색 결과 중 하나로, 80, 443 포트가 오픈되어 있으며, 4개의 취약점 중 한 개의 Exploit DB가 존재하는 것으로 확인된다.

Criminal IP 위협 헌팅으로 탐지된 Next.js 취약점에 노출된 IP 주소 리포트
Criminal IP 위협 헌팅으로 탐지된 Next.js 취약점에 노출된 IP 주소 리포트

해당 서버에 이미 존재하는 알려진 취약점 중에는 CVE-2023-44487 이 포함되어 있는데, 이 취약점은 HTTP/2 Rapid Reset 취약점으로, 공격자가 짧은 시간 내 다수의 스트림을 생성하고 종료(Reset)하는 방식으로 서버 리소스를 과도하게 소모시켜 DDoS를 유발할 수 있는 취약점이다.
Cloudflare, Google, AWS 등 주요 클라우드 사업자도 해당 취약점 기반의 대규모 실전 공격 사례를 보고한 바 있다.

또한, 해당 취약점은 이미 GitHub에 PoC(Proof of Concept)가 공개되어 있으며, 보안 패치가 적용되지 않은 서버는 실제 악용에 쉽게 노출될 수 있다. 이는 이러한 노출된 자산의 취약점이  단순한 잠재 위협이 아니라, 공격자가 실제로 악용 가능한 실질적인 위험 요소임을 의미한다.

이처럼 Criminal IP은 대규모 웹 자산의 상태를 실시간으로 탐지해 헤더 기반 식별이 가능한 공격에 대한 사전 방어 및 대응 전략 수립에 활용될 수 있다.

FAQ – 자주 묻는 질문

Q1. Next.js란 무엇인가요?

Next.js는 React 기반의 웹 프레임워크로, SSR(Server-Side Rendering), API Route, 이미지 최적화 등 다양한 기능을 제공해 프론트엔드 개발자들 사이에서 널리 사용되고 있다.

Q2. 해당 취약점(CVE-2025-29927)은 어떤 문제가 있나요?

Next.js 미들웨어에서 인증 상태를 올바르게 확인하지 못하고 요청을 허용하는 문제가 있으며, 이로 인해 보호된 페이지 또는 API 엔드포인트에 인증 없이 접근할 수 있다.

Q3. 어떻게 대응해야 하나요?

Vercel은 해당 취약점이 수정된 버전인 12.3.5, 13.5.9, 14.2.25, 15.2.3으로 업데이트할 것을 권고하고 있으며, 영향을 받는 버전은 즉시 패치가 필요하다.

Q4. 어떤 식으로 노출된 자산을 확인할 수 있나요?

Shodan이나 Criminal IP 같은 위협 인텔리전스 플랫폼을 통해, HTTP 헤더 “X Powered By: Next.js”가 포함된 웹 자산을 검색함으로써 취약 가능성이 있는 시스템을 파악할 수 있습니다.

결론

Next.js는 수십만 개의 웹서비스에서 사용되는 인기 프레임워크이므로, 이번 CVE-2025-29927 취약점은 전 세계적으로 광범위한 영향을 미칠 수 있다. 실제로 Criminal IP에서 수십만 건의 노출된 서비스가 확인된 만큼, 취약점 대응은 선제적으로 이루어져야 한다.

Next.js 기반 시스템을 운영하는 모든 조직은 즉시 패치와 점검을 수행해야 할 것으로 보이며, Criminal IP를 활용한 자산 식별과 실시간 탐지는 공격자의 접근보다 앞서 위협에 대응할 수 있는 핵심 전략이 될 수 있다.

관련하여 AMI MegaRAC BMC 취약점 분석 및 Criminal IP를 활용한 탐지 전략 글을 참고할 수 있다.


데이터 출처: Criminal IP (https://www.criminalip.io/ko), BleepingComputer – Critical flaw in Next.js lets hackers bypass authorization

관련 글 : 

https://www.criminalip.io/ko/knowledge-hub/blog/26765