🔍 CVE-2026-103004

5.3
CVSS Score
MEDIUM
2026-10-01
2026-10-05 15:01
✅ 완료

🇰🇷 한글 설명

Next.js 16.3.0에서 16.3.7 버전 사이에서 'use cache' 핸들러가 root params를 사용할 때 캐시 키를 잘못 생성하여 데이터가 유출될 수 있는 취약점입니다. 캐시 컴포넌트가 활성화된 경우, 특정 root param에 대한 응답이 다른 param을 가진 사용자에게 잘못 전달될 수 있습니다.

💡 쉬운 설명

웹사이트의 정보를 빠르게 보여주기 위해 저장해둔 '임시 저장 데이터(캐시)'가 서로 뒤섞이는 문제입니다. 이로 인해 A라는 사용자의 정보가 B라는 사용자에게 잘못 보여질 위험이 있습니다.

🇺🇸 원문 (English)

Next.js versions from 16.3.0 to 16.3.7 warm `use cache` handlers using `next/root-params` and can leak their return value to pages with different root params. With Cache Components enabled (cacheComponents: true), a 'use cache' function that calls another 'use cache' function that reads a root param can be keyed incorrectly when the inner call is served from an existing entry: the enclosing function's cache key then omits that root param. The enclosing entry is written once and reused for all root param values, so a response for one root param value can serve content produced for a different value — whether the page is prerendered at build time or at runtime, or rendered dynamically. Shared cache headers let downstream caches redistribute the content further. What values are leaked cannot be attacker controlled. Which value's content is served depends only on which invocation wrote the entry first. This has been patched in 16.3.8.

📍 영향받는 시스템

Next.js versions 16.3.0 to 16.3.7

⚔️ 공격 벡터

캐시 키 생성 오류를 이용해 다른 root params에 해당하는 캐시된 콘텐츠를 탈취

🛡️ 대응 방법

Next.js 버전을 16.3.8 이상으로 업데이트

🔧 검증 코드

출력된 Next.js 버전이 16.3.8 미만(16.3.0~16.3.7)인지 확인

Shell / Script
npm list next | grep next

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N

💻 영향받는 소프트웨어

Redis