✅ 보고서 제목: React2Shell 취약점 분석: CVE-2025-55182
✅ 보고서 요약:
- React 서버 컴포넌트(RSC, React Server Components)에서 발견된 react2shell 취약점 정보에 대한 분석을 진행했습니다.
- 해당 취약점은 Flight 프로토콜 데이터를 역직렬화하는 과정에서 적절한 입력 검증이 이루어지지 않아 발생하는 인증 없는 원격 코드 실행 취약점입니다.
📌 취약점 발생 원인은 무엇인가요?
- 사용자 입력에 대한 검증 없이 수행되는 안전하지 않은 역직렬화로 인해 발생합니다.
- parseModelString과 getOutlinedModel 함수에서 사용자의 입력에 대한 검증 없이 역직렬화를 수행하며, prototype 등의 검증을 수행하지 않습니다.
- $@과 $ 문자를 통해 chunk를 참조하는 방식으로 Prototype Pollution이 발생할 수 있으며, 이를 통해 React 애플리케이션 내 모든 객체의 Prototype이 변경되어 원격 코드 실행까지 이어질 수 있습니다.
parseModelString 함수
getOutlinedModel 함수
📌 취약점을 악용한 공격 시나리오는 무엇인가요?
- 공격자는 React/Next.js를 사용하는 Front 서비스를 식별하고, Chunk의 Prototype을 덮어쓸 데이터와 함께 Chunk를 불러오는 Payload를 생성하여 React 서버에 전송합니다.
- 생성된 payload를 취약한 버전의 React/Next.js를 사용하는 서비스에 전송합니다.
- Payload가 역직렬화됨으로써 React/Next.js를 사용하는 서버의 제어권을 획득할 수 있습니다.
📌 React2Shell 취약점 동향
| 일자 | 내용 |
|---|---|
| 2025.11.29. | Meta에 취약점 제보 |
| 2025.12.03. | 취약점 공개 |
| 2025.12.03. | 패치 배포 |
| 2025.12.04. | PoC / Exploit 공개 |
| 2025.12.06. | CISA KEV를 통해 in-the-wild 악용 확인 |
| 2025.12.10. | 북한 관련 공격 그룹인 UNC5342의 악용 정황 확인 |
| 2025.12.10. | 중국 관련 공격 그룹의 악용 정황 확인 |
| 2025.12.13. | 중국 관련 공격 그룹명 (UNC6600, UNC6588, UNC6603, UNC6595) 확인 |
| 2025.12.16. | 북한 관련 공격 그룹인 Lazarus의 악용 정황 확인 |
| 2025.12.18. | Weaxor 랜섬웨어의 악용 정황 확인 |
📌 본 취약점에 영향을 받는 버전
- 19.0 ≤ React < 19.0.1
- 19.1.0 ≤ React < 19.1.2
- 19.2.0 ≤ React < 19.2.1
- Next.js (canary releases) ≥ 14.3.0-canary.77
- 15.0 ≤ Next.js < 15.0.5
- 15.1.0 ≤ Next.js < 15.1.9
- 15.2.0 ≤ Next.js < 15.2.6
- 15.3.0 ≤ Next.js < 15.3.6
- 15.4.0 ≤ Next.js < 15.4.8
- 15.5.0 ≤ Next.js < 15.5.7
- 15.6.0 ≤ Next.js < 15.6.0-canary.58
- 16.0 ≤ Next.js < 16.0.7
✅ 위협 탐지 권장 사항 및 조치 방안:
- 취약한 버전의 React 서버 컴포넌트를 사용하고 있는 경우 최신 버전으로 업데이트할 것을 권장합니다.
- 패치가 불가능한 경우 즉시 서비스 중단 또는 외부 네트워크 접근을 차단할 것을 권장합니다.
- 완전한 보안은 존재하지 않으며, 널리 사용되는 소프트웨어에서 언제든지 심각한 취약점이 발견될 수 있으므로 잠재적인 취약점에 대비가 필요합니다.
- 외부에 노출된 서비스에 대해 주기적으로 자산을 식별하고 관리할 필요가 있습니다.
🧑💻 보고서 작성자: S2W TALON
👉 보고서 전문 문의하기: https://s2w.inc/ko/contact
*해당 보고서는 별도 문의 가능하며, S2W의 플랫폼 구독 시 전문으로 제공됩니다.