최근 React와 Next.js의 취약점에 대한 우려가 커지고 있습니다. 이 글에서는 React와 Next.js의 기본 개념부터 시작해, 취약점의 종류와 이에 대한 대응 방법을 자세히 살펴보겠습니다.
- React와 Next.js 개요
- React
- Next.js
- React Server Component (RSC)
- 취약점 상세 분석
- 취약점 설명
- 공격 현황
- 대응 방안
- 업데이트 적용
- 취약점 스캐닝
- 로그 점검
- 자주 묻는 질문
- 질문1: React와 Next.js의 기본적인 차이는 무엇인가요?
- 질문2: CVE-2025-55182의 위험성은 어떤가요?
- 질문3: 취약점 대응을 위해 어떤 조치를 취해야 하나요?
- 질문4: 서버에서 이 취약점을 방어하는 방법은 무엇인가요?
- 질문5: 이 취약점에 대한 공격이 실제로 발생했나요?
- 질문6: 향후 유사 취약점이 발생할 가능성은?
- 함께보면 좋은글!
React와 Next.js 개요
React
React는 메타에서 개발한 자바스크립트 라이브러리로, 주로 웹사이트의 사용자 인터페이스(UI)를 구축하는 데 사용됩니다. 컴포넌트 기반 아키텍처를 통해 개발자들은 재사용 가능한 UI 조각을 손쉽게 만들 수 있습니다.
Next.js
Next.js는 React를 기반으로 개발된 웹 프레임워크로, 서버 사이드 렌더링(SSR)과 정적 사이트 생성(SSG) 기능을 제공합니다. 이 프레임워크는 SEO 최적화와 빠른 페이지 로딩 속도를 지원합니다.
React Server Component (RSC)
React Server Component는 서버에서 컴포넌트를 실행하여 미리 렌더링된 마크업을 생성하고, 이를 클라이언트에 전달하여 사용자에게 콘텐츠를 보여주는 방식입니다.
취약점 상세 분석
취약점 설명
현재 보고된 취약점 중 하나는 CVE-2025-55182로, RSC Flight 프로토콜 처리 과정에서 발생합니다. 이 취약점은 requireModule() 함수의 부적절한 역직렬화로 인해 인증 없이 서버에서 원격 코드 실행이 가능하게 만듭니다. 이로 인해 공격자는 클라이언트가 요청한 데이터를 검증하지 않고 사용할 수 있습니다.
공격 현황
중국에서 이 취약점을 활용한 공격 테스트가 진행되고 있으며, 이미 특정 서버에 대해 페이로드를 업로드하고, RSC 직렬화 취약점을 유발하는 등의 공격이 성공적으로 이루어졌습니다. 현재 39%의 클라우드 인스턴스가 이 취약점에 노출되어 있으며, 국내에서도 18만 9천 대의 서버가 취약한 것으로 확인되었습니다.
| 취약점 | 영향받는 제품 | 영향받는 버전 | 해결 버전 |
|---|---|---|---|
| CVE-2025-55182 | react-server-dom-webpack | 19.0 | 19.0.1, 19.1.0~19.1.1, 19.1.2, 19.2.0~19.2.1 |
| CVE-2025-55182 | react-server-dom-parcel | 19.0 | 19.0.1, 19.1.0~19.1.1, 19.1.2, 19.2.0~19.2.1 |
| CVE-2025-55182 | react-server-dom-turbopack | 19.0 | 19.0.1, 19.1.0~19.1.1, 19.1.2, 19.2.0~19.2.1 |
| CVE-2025-55182 | Next.js | 14.3.0-canary.77 이상 | 최신 안정 버전으로 다운그레이드 권고(14.x) |
대응 방안
업데이트 적용
공식 벤더사에서 제공하는 업데이트를 신속히 적용하는 것이 중요합니다. 각 제품의 최신 버전으로 업데이트하여 취약점을 해결할 수 있습니다.
취약점 스캐닝
취약점 스캐너를 활용하여 서버의 취약 여부를 점검하고, 탐지 정책을 적용합니다. 이렇게 하면 잠재적인 공격을 사전에 방지할 수 있습니다.
로그 점검
RSC와 관련된 엔드포인트에 대한 로그를 점검하여 반복적인 요청이나 비정상적인 접근을 확인합니다. 이를 통해 공격 징후를 조기에 발견할 수 있습니다.
자주 묻는 질문
질문1: React와 Next.js의 기본적인 차이는 무엇인가요?
React는 UI를 구성하는 라이브러리이고, Next.js는 React를 기반으로 한 웹 프레임워크로 서버 사이드 렌더링 기능을 제공합니다.
질문2: CVE-2025-55182의 위험성은 어떤가요?
이 취약점은 인증 없이 원격 코드 실행이 가능해 매우 위험합니다. 공격자가 서버를 제어할 수 있는 가능성이 있습니다.
질문3: 취약점 대응을 위해 어떤 조치를 취해야 하나요?
제품의 최신 버전으로 업데이트하고, 취약점 스캐너를 사용해 점검하며, 로그를 통해 비정상적인 접근을 모니터링해야 합니다.
질문4: 서버에서 이 취약점을 방어하는 방법은 무엇인가요?
서버의 보안 패치를 즉시 적용하고, 사용자 입력에 대한 검증을 강화하는 것이 중요합니다.
질문5: 이 취약점에 대한 공격이 실제로 발생했나요?
네, 현재 중국에서 이 취약점을 악용한 공격이 진행되고 있으며, 여러 서버가 이미 노출된 상태입니다.
질문6: 향후 유사 취약점이 발생할 가능성은?
프레임워크의 발전에 따라 새로운 취약점이 발생할 수 있으므로, 지속적인 보안 점검과 업데이트가 필요합니다.
