Next.js 2026년 5월 보안 릴리즈 — CVE 13건 패치
Next.js가 2026년 5월 보안 릴리즈를 통해 DoS, 미들웨어·프록시 우회, SSRF, 캐시 중독, XSS를 포함한 13개 보안 취약점을 한꺼번에 패치했다. Next.js 13.x부터 16.x까지와 react-server-dom 패키지 전 버전이 영향을 받으며, 완전한 완화는 패치 적용이 유일한 방법이다.
Next.js가 2026년 5월 보안 릴리즈를 통해 DoS, 미들웨어·프록시 우회, SSRF, 캐시 중독, XSS를 포함한 13개 보안 취약점을 한꺼번에 패치했다. Next.js 13.x부터 16.x까지와 react-server-dom 패키지 전 버전이 영향을 받으며, 완전한 완화는 패치 적용이 유일한 방법이다.
Copy Fail CVE-2026-31431은 Linux AF_ALG와 splice 경로를 악용해 page cache의 setuid 바이너리를 변조할 수 있었다.
Next.js의 App Router Server Function 엔드포인트에서 CVE-2026-23869(CVSS 7.5, 고위험)가 발견됐다. 특수 제작된 HTTP 요청을 역직렬화할 때 CPU가 과소비되는 DoS 취약점으로, Next.js 13.x~16.x 전 버전이 영향받는다. 즉시 패치 버전으로 업그레이드하는 것이 유일한 완전한 해결책이다.
React Server Components와 Server Actions로 서버 로직이 늘면서, React Flight Protocol이 순환 참조를 제대로 막지 못해 Node.js 싱글 스레드가 무한 루프에 빠지는 DoS 위협이 생겼다.
React Server Components의 Server Function 엔드포인트에서 DoS를 유발할 수 있는 고심각도 취약점이 CVE-2026-23864로 공개됐다. CVSS 7.5 수준으로 원격 코드 실행은 없지만 서버 충돌·OOM·과도한 CPU 사용을 일으킬 수 있으며 Next.js 13.x~16.x를 포함한 광범위한 React 에코시스템 프레임워크가 영향을 받는다.
자체 호스팅 중인 Next.js 애플리케이션에서 두 가지 DoS 취약점이 발견됐다. CVE-2025-59471은 Image Optimizer에서, CVE-2025-59472는 Partial Pre-Rendering(PPR) 재개 엔드포인트에서 메모리 소진을 유발할 수 있다. Vercel 플랫폼 호스팅 앱은 영향받지 않지만 자체 호스팅 환경에서는 즉시 패치가 필요하다.
React Server Components(RSC)에서 임의 코드 실행을 허용하는 CVE-2025-55182가 공개됐다. 심각도 10.0 만점의 이 취약점은 JavaScript의 `constructor` 프로퍼티를 React 렌더링 도중 코드 평가에 악용한다. Vercel은 WAF 방어 레이어를 배포해 공개 후 수 주 만에 600만 건 이상의 공격 시도를 차단했고, 독립적인 100만 달러 바운티 프로그램으로 20개의 고유 우회 기법을 발굴해 즉시 패치했다.
React 19 의 Server Components 구현에서 두 가지 보안 취약점이 발견되었다. App Router 엔드포인트를 노린 악의적 HTTP 요청으로 서버를 멈추거나(CVE-2025-55184, DoS), 서버 액션의 컴파일된 소스 코드를 추출(CVE-2025-55183, 소스 노출)할 수 있다. React 19.2.2 이상, Next.js 14.2.35/15.0.7/15.1.11 이상으로 즉시 업그레이드가 필요하다.
React Server Components 의 핵심 취약점 React2Shell(CVE-2025-55182)을 중심으로 연관 CVE 3건(CVE-2025-66478, CVE-2025-55184, CVE-2025-55183)을 종합한 보안 공지다. Next.js 14~16 전 버전에 영향을 주며, 패치 버전별 업그레이드 표와 npx fix-react2shell-next 자동 수정 도구를 제공한다.
React Server Components 의 Critical 취약점 CVE-2025-55182 의 기술 세부사항을 정리한 글이다. React 19 의 Server DOM 패키지들이 untrusted input 을 처리하는 방식의 결함으로 RCE 가 발생하며, Next.js 외에도 Vite, Parcel, React Router, RedwoodSDK, Waku 등 RSC 를 사용하는 광범위한 프레임워크가 영향을 받는다.
npm 패키지 개발자 계정 탈취를 통해 package.json 에 악성 코드를 주입하는 공급망 공격 Shai-Hulud 2.0 이 발생했다. 공격자는 Bun 런타임을 몰래 설치하고 악성 스크립트를 실행하는 "stealthy loader" 패턴을 사용했다. Vercel 내부 인프라는 영향을 받지 않았으나, 취약한 패키지를 참조한 일부 고객 빌드가 영향을 받았다.
Vercel AI SDK에서 파일 형식 화이트리스트를 우회할 수 있는 입력 검증 취약점(CVE-2025-48985)이 공개됐다. 지원 URL과 미지원 URL을 혼합해 전달할 때 배열 인덱스 정렬 오류로 미지원 파일의 바이트 데이터가 지원 슬롯에 잘못 매핑되는 방식으로 콘텐츠 검증을 우회한다. 패치 버전은 v5.0.52, v6.0.0-beta.*이다.
Nuxt DevTools v2.6.4 이전 버전의 인증 페이지에서 DOM 기반 XSS 취약점(CVE-2025-52662)이 발견됐다. 오류 메시지를 innerHTML로 렌더링해 악성 입력이 HTML로 실행되며, WebSocket 핸들러의 경로 탐색(Path Traversal) 취약점과 결합하면 개발 환경에서 원격 코드 실행(RCE)까지 이어진다. 패치 버전은 Nuxt DevTools 2.6.4다.
Next.js 15.1.0~15.1.7 버전에서 ISR(증분 정적 재생성) 사용 시 HTTP 204 빈 응답이 정적 페이지 캐시에 잘못 저장되어 이후 모든 요청에 빈 페이지가 서빙되는 캐시 포이즈닝 취약점이 발견됐다. CDN이 204 응답을 캐시하도록 설정된 self-hosted 환경에서만 발동하며, Vercel 호스팅은 영향 없다.
Next.js App Router 15.3.0~15.3.2 및 Vercel CLI 41.4.1~42.2.0에서 미들웨어가 리라이트/리다이렉트를 수행할 때 캐시 버스팅 파라미터가 제거되면서 RSC 페이로드와 HTML 응답이 동일 캐시 키를 공유하는 캐시 포이즈닝 취약점이 발견됐다. Vercel 호스팅은 브라우저 캐시 수준에 그치지만 self-hosted + 외부 CDN 환경에서는 CDN 포이즈닝으로 확대될 수 있다.
Next.js 개발 서버(next dev)에서 크로스 사이트 WebSocket 하이재킹(CSWSH)과 크로스 오리진 스크립트 인클루전 두 가지 취약점이 발견됐다. 오리진 검증이 불충분해 공격자가 로컬 컴포넌트 소스 코드를 탈취할 수 있으며, 영향 범위는 개발 환경으로 한정된다. Next.js 14.2.30 및 15.2.2에서 수정됐다.
Vercel이 2025년 5월 보안 현황을 공개했다. 2월 이후 108만 개 이상 고유 IP에서 1,480억 건의 악성 요청을 차단했으며, 전분기 대비 70% 증가세를 보인다. Bot Protection 공개 베타, 복수 CVE 선제 패치, DoS 실시간 완화 개선을 포함한 종합 보안 업데이트다.
Vercel Flags SDK에서 기본 플래그 디스커버리 엔드포인트(`/.well-known/vercel/flags`)를 통해 플래그 메타데이터가 인증 없이 노출되는 취약점이 발견됐다. 영향 버전은 flags 3.2.0 이하, @vercel/flags 3.1.1 이하이며, flags@4.0.0으로 업그레이드하면 해결된다.
React Router 7.0.0–7.5.1과 이를 기반으로 한 Remix에서 HTTP 헤더를 통한 캐시 포이즈닝과 저장형 XSS 공격이 가능한 심각한 취약점 두 건(CVE-2025-43864, CVE-2025-43865)이 공개됐다. 공격자가 `X-React-Router-Spa-Mode` 및 `X-React-Router-Prerender-Data` 헤더를 조작하면 서버 응답을 변조해 캐시에 악성 콘텐츠를 주입할 수 있으며, 이후 모든 방문자가 피해를 입는다. Vercel은 자사 인프라의 방화벽 레이어에서 두 헤더를 자동 제거하고 CDN 캐시를 전면 초기화하는 방식으로 선제 대응했다.
Next.js 의 CDN 캐시 포이즈닝 취약점(CVE-2025-32421)이 공개됐다. 14.2.24 초과 ~ 15.1.6 미만 버전이 대상이며, `?__nextDataRequest=1` 쿼리와 `x-now-route-matches` 헤더를 동시에 조작하는 레이스 컨디션으로 비캐시 데이터의 응답 바디를 캐시 가능한 요청에 주입할 수 있다.