관리 메뉴

Information Security

React2Shell (CVE-2025-55182) 본문

CVE 취약점

React2Shell (CVE-2025-55182)

HackingPractice 2025. 12. 12. 15:54

CVE-2025-55182는 심각도 **최고점(CVSS 10.0점 만점)**의 인증 불필요 원격 코드 실행(RCE) 취약점입니다. 'React2Shell'이라는 별칭으로 불리며, Meta의 웹 개발 라이브러리인 React의 서버 컴포넌트(React Server Components, RSC) 기능에서 발견되었습니다. 

 

취약점 유형 : React 서버 컴포넌트에서 사용되는 Flight 프로토콜의 역직렬화(deserialization) 처리 과정에서 입력값 검증이 미흡하여 발생합니다. 공격자는 특수하게 조작된 HTTP 페이로드를 전송하여 인증 절차 없이 서버에서 임의의 코드를 실행할 수 있습니다.

 

리액트 서버 컴포넌트 취약점이란?
리액트 서버 컴포넌트(React Server Components. RSC)란 클라이언트에서 서버 컴포넌트에 접근하거나 조작해 민간함 정보가 노출되는 취약점

안전하지 않은 역직렬화란?

신뢰할 수 없는 데이터를 사용하여 애플리케이션의 역직렬화 프로세스 로직을 악용할 때 발생하는 취약점 유형으로, 공격자가 코드를 실행하거나, 객체를 조작하거나, 인젝션 공격을 수행할 수 있도록 합니다.

직렬화는 객체를 저장(예: 파일 또는 메모리 버퍼)하거나 전송(예: 네트워크를 통해)하고 나중에 복원할 수 있는 형식으로 변환하는 과정입니다. 역직렬화는 그 반대 과정으로, 직렬화된 데이터를 가져와 원래 객체를 다시 생성하는 것입니다.

기본 역직렬화 메커니즘의 기능은 신뢰할 수 없는 데이터를 처리할 때 악의적인 목적으로 악용될 수 있습니다. 역직렬화 도구를 대상으로 하는 공격은 서비스 거부(DoS) 공격, 접근 제어 공격, 원격 코드 실행(RCE) 공격으로 이어질 수 있는 것으로 밝혀졌습니다.

 

S/W 구분 취약한 버전
react-server-dom-webpack 19.0, 19.1.0, 19.1.1, 19.2.0
react-server-dom-parcel 19.0, 19.1.0, 19.1.1, 19.2.0
react-server-dom-turbopack 19.0, 19.1.0, 19.1.1, 19.2.0

 

 

환경구성

docker 환경에 해당 취약한 버전을 설치했습니다.

 

설치가 완료되면 자동으로 실행되는 것을 알 수 있다. 

 

http://127.0.0.1:3000 접속하면 아래와 같이 페이지가 보이는 것을 알 수 있다.

 

공격 코드를  보면 URL 주소를 http://127.0.0.1:3000로 수정했습니다.

 

공격 코드 실행 시 아래와 같이 서버의 id 정보를 보여주는 것을 알 수 있습니다.