최근 React 19 버전에서 심각한 원격 코드 실행(RCE) 취약점 두 가지가 발견되었습니다. CVE-2025-55182와 CVE-2025-66478로 식별되는 이 취약점들은 React의 서버 컴포넌트(RSC) 기능에서 사용하는 “Flight” 프로토콜의 역직렬화 처리 로직의 결함으로 인해 발생합니다. 이 문제를 통해 공격자는 특수 조작된 HTTP 요청만으로 인증 없이 서버 측에서 임의의 자바스크립트 코드를 실행할 수 있게 됩니다.
취약점 개요
CVE-2025-55182
이 취약점은 React 라이브러리에서 발견된 문제로, 서버 컴포넌트와 관련된 기능에서의 역직렬화 결함이 원인입니다. 공격자는 이를 이용해 악의적인 코드를 실행할 수 있으며, React를 사용하는 웹 애플리케이션에 심각한 보안 위협을 초래합니다.
CVE-2025-66478
Next.js 프레임워크에서 발견된 이 취약점은 React의 취약점을 그대로 내포하고 있습니다. 기본 설정의 Next.js 애플리케이션은 별도의 코드 수정 없이도 공격에 노출될 수 있으며, 특히 앱 라우터 사용 시 더욱 위험합니다.
취약점의 원인
역직렬화 처리 로직의 결함
두 취약점 모두 React의 “Flight” 프로토콜에서의 역직렬화 처리 로직의 결함으로 인해 발생합니다. 이 로직의 결함은 공격자가 서버에 보내는 HTTP 요청을 조작하여 임의의 코드 실행을 가능하게 합니다.
서버 측 코드 실행
공격자는 특수하게 조작된 요청을 서버에 보내어, 서버 측에서 자바스크립트 코드를 실행할 수 있는 권한을 얻게 됩니다. 이는 개발자와 사용자가 인지하지 못하는 사이에 발생할 수 있으며, 심각한 보안사고로 이어질 수 있습니다.
취약점 분석 및 대응 방안
취약점 분석
취약점을 분석하기 위해서는 먼저 영향을 받는 버전의 React 및 Next.js를 사용하고 있는지 확인해야 합니다. 이를 통해 현재 사용 중인 애플리케이션의 보안 상태를 점검할 수 있습니다.
대응 방안
- 업데이트: React 및 Next.js의 최신 버전으로 업데이트하여 취약점을 패치해야 합니다.
- 코드 검토: 서버 컴포넌트를 사용하는 코드에 대해 철저한 검토를 실시하여 취약점이 존재하지 않는지 확인합니다.
- 보안 점검: 정기적인 보안 점검을 통해 새로운 취약점이 발견되었을 경우 신속히 대응할 수 있도록 합니다.
자주 묻는 질문
질문1: CVE-2025-55182와 CVE-2025-66478의 차이는 무엇인가요?
CVE-2025-55182는 React에서 발견된 취약점이며, CVE-2025-66478은 Next.js에서 동일한 문제를 내포하고 있습니다. 두 취약점 모두 역직렬화 처리 로직의 결함으로 인해 발생합니다.
질문2: 이 취약점이 발견된 후 어떤 조치를 취해야 하나요?
React와 Next.js의 최신 버전으로 업데이트하고, 서버 컴포넌트를 사용하는 코드를 점검하여 취약점이 존재하지 않는지 확인하는 것이 중요합니다.
질문3: 취약점을 악용할 경우 어떤 피해가 발생할 수 있나요?
악용될 경우 공격자는 서버에서 임의의 코드를 실행할 수 있어 데이터 유출, 서비스 중단 등의 심각한 피해를 초래할 수 있습니다.
질문4: 취약점 패치 이후에도 주의해야 할 점은 무엇인가요?
패치 이후에도 정기적인 보안 점검을 통해 새로운 취약점이 발견될 경우 신속히 대응할 수 있는 시스템을 갖추는 것이 중요합니다.
질문5: 어떻게 취약점 분석을 시작해야 하나요?
먼저, 현재 사용 중인 React 및 Next.js의 버전을 확인하고, 관련 문서 및 공지를 통해 취약점 정보를 수집한 후 분석을 시작하는 것이 좋습니다.
