🇰🇷 한글 설명
Next.js의 React Server Component 응답에서 공유 캐시의 응답 파티셔닝이 불충분할 경우 캐시 포이즈닝(Cache Poisoning) 취약점이 발생할 수 있습니다. 공격자가 _rsc 캐시 버스팅 값의 충돌을 이용해 캐시 항목을 오염시키면, 사용자가 특정 URL에 대해 잘못된 응답 변형을 받게 될 수 있습니다.
💡 쉬운 설명
웹사이트의 임시 저장소(캐시)에 가짜 정보를 저장하여 다른 사용자가 잘못된 화면을 보게 만드는 공격입니다. Next.js를 사용하는 특정 버전에서 서버 응답을 구분하는 기능이 미흡할 때 발생합니다.
🇺🇸 원문 (English)
Next.js is a React framework for building full-stack web applications. From 13.4.6 to before 15.5.16 and 16.2.5, React Server Component responses can be vulnerable to cache poisoning in deployments that rely on shared caches with insufficient response partitioning. In affected conditions, collisions in the _rsc cache-busting value can allow an attacker to poison cache entries so users receive the wrong response variant for a given URL. This vulnerability is fixed in 15.5.16 and 16.2.5.
📍 영향받는 시스템
Next.js 13.4.6 ~ 15.5.15 및 16.2.4 이하 버전
⚔️ 공격 벡터
공유 캐시 환경에서 _rsc 캐시 버스팅 값의 충돌을 유도하여 캐시 항목을 오염시킴
🛡️ 대응 방법
Next.js를 15.5.16 또는 16.2.5 이상의 버전으로 업데이트
🔧 검증 코드
출력된 Next.js 버전을 확인하여 취약한 범위(13.4.6~15.5.15 또는 16.2.4 이하)에 해당하는지 확인
npm list next | grep next
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N
💻 영향받는 소프트웨어
IBM WebSphere Application Server