최근 발표된 CVE-2025-66478은 Next.js를 사용하는 웹 개발자들에게 심각한 경고를 주고 있습니다. 이 보안 취약점은 인증 없이도 서버를 공격할 수 있는 가능성을 열어주며, CVSS 점수 10.0을 기록한 치명적인 문제입니다. 현재 전 세계 클라우드 환경의 39%가 이 취약점에 노출되어 있습니다. 이 글에서는 CVE-2025-66478에 대한 상세한 정보와 대응 방법을 알아보겠습니다.
CVE-2025-66478의 개요
취약점의 정의
CVE-2025-66478은 Next.js에서 발견된 원격 코드 실행(Remote Code Execution, RCE) 취약점으로, 공격자가 아무런 인증 없이도 서버에 명령을 내릴 수 있게 합니다. HTTP 요청 하나만으로도 공격이 가능하다는 점에서 매우 위험합니다.
취약점의 원인
이 취약점의 뿌리는 React의 취약점인 CVE-2025-55182에 있습니다. React 19 버전에서 도입된 React Server Components(RSC)의 Flight 프로토콜이 데이터를 안전하지 못한 방식으로 처리하여 문제가 발생했습니다. 특히, 악의적으로 조작된 데이터를 검증하지 않는 점이 문제입니다.
취약한 버전들
Next.js와 React의 취약 버전
위험한 Next.js 버전:
– 14.3.0-canary.77 이상
– 15.x 전체 버전 (15.0.0 ~ 15.5.6)
– 16.x 전체 버전 (16.0.0 ~ 16.0.6)
안전한 패치 버전:
– Next.js: 16.0.7, 15.5.7, 15.4.8, 15.3.6, 15.2.6, 15.1.9, 15.0.5
– React: 19.0.1, 19.1.2, 19.2.1
영향받는 다른 프레임워크
React Server Components를 사용하는 다른 도구들도 영향을 받을 수 있습니다:
– Waku (0.27.2 이상)
– RedwoodJS
– React Router (RSC 모드)
– Vite RSC 플러그인
– Parcel RSC 플러그인
왜 이 취약점이 위험한가?
- 인증 필요 없음: 공격자는 로그인 없이도 HTTP 요청을 통해 공격할 수 있습니다.
- 기본 설정으로 취약: create-next-app으로 생성한 기본 프로젝트에서도 취약점이 존재합니다.
- 높은 공격 성공률: 보안 전문가들의 테스트 결과, 공격 성공률이 거의 100%에 가깝습니다.
- 피해 규모: 전 세계 96만 8천대 이상의 서버가 위험에 처해 있습니다.
대응 방법
1단계 : 버전 확인
먼저 프로젝트의 Next.js와 React 버전을 확인합니다.
bash
cat package.json | grep -E "next|react"
2단계 : 긴급 업데이트 실행
위험한 버전을 사용하고 있다면 즉시 업데이트를 진행합니다.
bash
npm install next@latest react@latest react-dom@latest
3단계 : 업데이트 확인
패치된 버전으로 업데이트되었는지 확인합니다.
bash
npm list next react
4단계 : 프로덕션 재배포
업데이트 후 프로덕션 환경에 새로 배포해야 합니다.
bash
npm run build
추가 보안 조치
- 모니터링 강화: 서버 로그를 주의 깊게 살펴보며 이상 징후를 감지합니다.
- WAF 규칙 적용: Vercel과 같은 호스팅 서비스에서 자동으로 제공하는 보호 기능을 활용합니다.
자주 묻는 질문
CVE-2025-66478은 어떤 취약점인가요?
CVE-2025-66478은 Next.js에서 발견된 원격 코드 실행 취약점으로, 인증 없이 서버를 공격할 수 있게 합니다.
이 취약점이 있는지 어떻게 확인하나요?
프로젝트의 package.json 파일에서 Next.js와 React의 버전을 확인하면 됩니다.
패치 방법은 무엇인가요?
npm이나 yarn을 사용해 최신 버전으로 업데이트하면 됩니다.
Pages Router를 사용하는 경우는 안전한가요?
네, Pages Router를 사용하는 프로젝트는 영향을 받지 않습니다.
공격 사례가 있나요?
현재 대규모 공격 사례는 보고되지 않았지만, 전문가들은 취약점이 무기화될 가능성이 높다고 경고하고 있습니다.
마무리하자면, CVE-2025-66478은 웹 개발 생태계에 큰 위협이 되는 취약점입니다. 따라서 즉시 업데이트와 보안 조치를 취하는 것이 중요합니다.