Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2025-55182 — CVE-2025-55182(React2Shell)에 대한 상세 기술 분석으로, React의 Flight 프로토콜 내부를 추적하여 익스플로잇 체인, 페이로드 제작, 수정 분석을 설명합니다. | Kitploit
도구/GitHubGitHub/kavienanj/cve-2025-55182
Vulnerability AnalysisExploitationWeb Application ExploitationPapers & ResearchLearning & EducationPayload Development
GitHubkavienanj/cve-2025-55182

CVE-2025-55182

CVE-2025-55182(React2Shell)에 대한 상세 기술 분석으로, React의 Flight 프로토콜 내부를 추적하여 익스플로잇 체인, 페이로드 제작, 수정 분석을 설명합니다.

저장소 보기
38149개월 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

React2Shell: CVE-2025-55182 분석서

저자: Kavienan J

취약점 발견자: lachlan2k, React 팀에 책임감 있게 공개했습니다.

이 취약점에 대한 업데이트는 다음에서 확인하세요: react2shell.com

목차

  1. 소개
  2. 배경
  3. ReactFlightReplyServer.js 이해하기
  4. 첫 번째 페이로드 제작
  5. 가짜 청크
  6. 모든 것이 통제 하에
  7. 익스플로잇
  8. 수정 사항

소개

CVE-2025-55182는 심각도 10.0/10.0으로 평가되었습니다. 공개된 PoC를 살펴보셨다면, 익스플로잇이 작동하는 모습은 보여주지만 왜 페이로드가 그렇게 생겼는지에 대한 설명이 부족하다고 느끼셨을 수 있습니다. React Flight 프로토콜이 매우 복잡하기 때문에 당연한 일입니다.

Flight는 React Server Components와 Server Actions 뒤에 있는 직렬화 계층으로, 1,100줄 이상의 복잡한 상태 머신이며, 직접 코드를 추적하지 않으면 그 동작이 직관적이지 않습니다.

커뮤니티 PoC는 이 취약점을 명확히 보여줍니다:

  • https://github.com/msanft/CVE-2025-55182
  • https://github.com/lachlan2k/React2Shell-CVE-2025-55182-original-poc
  • https://x.com/rauchg/status/1997362942929440937

…하지만 '왜 이게 작동하지?'라는 질문에 답하려고 하면, 한 줄 한 줄 읽히도록 설계되지 않은 React 내부를 깊이 탐험하게 됩니다.

참고: 많은 PoC가 수정 사항을 requireModule의 변경 사항으로 잘못 돌립니다. 수정 사항에서 살펴보겠지만, 익스플로잇 페이로드는 해당 함수에 도달하지 않습니다. 실제 취약 코드는 전적으로 ReactFlightReplyServer.js에 있습니다.

이 글은 React의 디코딩 및 청크 초기화 로직을 단계별로 추적하여 익스플로잇 체인을 역공학하려는 시도입니다. 여기서 논의되는 모든 동작은 수정 전 ReactFlightReplyServer.js가 작동하던 방식(참조: https://github.com/facebook/react/blob/v19.2.0/packages/react-server/src/ReactFlightReplyServer.js)에서 직접 가져온 것으로, 충분한 인내심을 가진 React/JS 개발자가 따라갈 수 있도록 간결하게 단순화되었습니다.


다음 섹션: 배경

도구 다운로드