Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2025-55182-React2Shell — React2Shell (CVE-2025-55182) 개념 증명(PoC) 익스플로잇으로, React Server Components(RSC)를 사용하는 최신 웹 프레임워크에서 CRITICAL(치명적) 원격 코드 실행(RCE) 취약점을 시연합니다. | Kitploit
도구/GitHubGitHub/rsch-io/cve-2025-55182-react2shell
Payload GenerationExploitationWeb Application ExploitationWAF BypassPenetration TestingLearning & EducationRed Teaming
GitHubrsch-io/cve-2025-55182-react2shell

CVE-2025-55182-React2Shell

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

React2Shell (CVE-2025-55182) 개념 증명(PoC) 익스플로잇으로, React Server Components(RSC)를 사용하는 최신 웹 프레임워크에서 CRITICAL(치명적) 원격 코드 실행(RCE) 취약점을 시연합니다.

저장소 보기
118개월 전아직 검토되지 않음

React2Shell

Language CVE CVSS Target License

React2Shell은 최신 웹 프레임워크의 React Server Components(RSC)에서 발견된 CRITICAL 원격 코드 실행(RCE) 취약점을 시연하는 개념 증명(PoC) 익스플로잇입니다.

이 PoC는 **CVE-2025-55182**를 대상으로 하며, 이는 React Server Components 구현의 안전하지 않은 역직렬화를 통해 인증되지 않은 원격 공격자가 임의의 시스템 명령을 실행할 수 있게 하는 CVSS 10.0 취약점입니다.


🔍 취약점 개요

React2Shell은 React Server Components가 rehydration 과정에서 신뢰할 수 없는 입력을 처리할 때 발생하는 결함을 악용합니다.

이 취약점은 컴포넌트 트리를 직렬화하고 역직렬화하는 기본 react-server-dom-* 패키지에서 비롯됩니다.


💥 영향

영향을 받는 버전의 React Server Components를 사용하는 애플리케이션은 악성 페이로드를 처리하는 과정에서 서버 프로세스의 권한으로 **원격 코드 실행(RCE)**으로 이어질 수 있습니다.

공격자는 다음을 수행할 수 있습니다:

  • 임의의 시스템 명령 실행.
  • 내부 인프라로의 피벗(Pivot).
  • 민감한 데이터 유출.
  • 서비스 가용성 방해.

배포 환경이 아래의 취약한 버전 중 하나에 해당하고 RSC 엔드포인트를 노출한다면 vulnerable 상태입니다.


📦 영향을 받는 구성 요소

이 취약점은 다음 패키지의 19.0.0, 19.1.0, 19.1.1, 19.2.0 버전에 존재합니다:

  • react-server-dom-parcel
  • react-server-dom-webpack
  • react-server-dom-turbopack

🎯 영향을 받는 프레임워크 및 버전

이 패키지는 여러 프레임워크에 번들로 포함되어 있으며, 여기에는 다음에 국한되지 않습니다:

  • Next.js
    • 15.0.0부터 16.0.6까지의 버전
    • 14.3.0-canary.76 이후의 Canary 버전
  • 기타 프레임워크 (v19.0.0–19.2.0의 RSC 사용), 예:
    • Vite
    • Parcel
    • React Router
    • RedwoodSDK
    • Waku

취약한 React Server Components 구현을 포함하는 모든 프레임워크는 잠재적으로 영향을 받을 수 있습니다.


🛠 기능 및 특성

React2Shell은 일반적인 Node.js 제한 및 WAF 규칙을 우회하도록 설계된 모듈형 페이로드 생성기를 포함합니다:

  • 표준 주입

    • process.mainModule.require 사용
    • 기본 Next.js / Webpack 번들 대상.
  • 비동기 우회

    • require를 사용할 수 없는 엄격한 ESM 환경을 위해 동적 import() 사용.
  • 난독화

    • 민감한 문자열(예: child_process)을 16진수 버퍼로 인코딩하여 단순한 WAF 시그니처를 우회.
  • 모듈 폴백

    • module.createRequire를 활용해 대체 컨텍스트에서 모듈 로드.
  • 범용 타기팅

    • 구성 가능한 엔드포인트:
      • Next.js: 루트 /
      • Waku: /RSC/foo.txt와 같은 RSC 엔드포인트

🚀 설치

전제 조건

  • Node.js v18.0.0 이상.

설정

root@kitploit:~
git clone https://github.com/rsch-io/CVE-2025-55182-React2Shell.git
cd CVE-2025-55182-React2Shell

npm install form-data

📖 사용법

React2Shell은 자체 테스트 스크립트에 모듈로 가져와 사용하도록 설계되었습니다.

1. 기본 익스플로잇 (Next.js 대상)

exploit.js라는 파일을 생성합니다:

root@kitploit:~
const React2Shell = require('./src/react2shell');

// Initialize with target base URL
const target = new React2Shell('http://localhost:3000');

// Execute command using the "standard" strategy
// Arguments: execute(command, endpoint, strategy)
target.execute('whoami', '/', 'standard');

그런 다음 실행합니다:

root@kitploit:~
node exploit.js

참고

  • endpoint는 RSC가 활성화된 라우트로 설정해야 합니다 (예: /, /RSC/foo.txt, 또는 프레임워크별 RSC 엔드포인트).
  • strategy는 변경할 수 있습니다 (예: standard, async, obfuscated, 또는 react2shell에 구현된 다른 전략).

2. Waku / 사용자 정의 엔드포인트 공격

Waku와 다른 프레임워크는 종종 특정 라우트에서 RSC 처리를 노출합니다:

root@kitploit:~
// Target a Waku application
// Note: Use 'async' strategy as Waku often runs in strict ESM
target.execute('ls -la', '/RSC/foo.txt', 'async');

3. WAF 우회 모드

서버가 child_process를 포함하는 문자열을 차단하는 경우 obfuscated 전략을 사용할 수 있습니다:

root@kitploit:~
target.execute('cat /etc/passwd', '/', 'obfuscated');

🛡️ 해결 방법 및 대응

즉시 업데이트하세요. 업데이트된 React 및 영향을 받는 다운스트림 프레임워크 릴리스에는 의도하지 않은 동작을 방지하기 위해 사용자 입력 처리를 강화한 버전이 포함되어 있습니다.
모든 사용자는 가능한 한 빨리 패치된 버전으로 업그레이드해야 합니다.

✅ 패치 버전 목록

다음은 패치된 버전의 최종 목록입니다. 배포 버전이 이보다 낮다면 vulnerable 상태입니다.

Next.js 14 사용자 경고
Next.js 14.3.0-canary.77 이상의 Canary 릴리스를 사용 중이라면 vulnerable 상태입니다.
이 취약점은 해당 카나리 빌드에 포함된 실험용 RSC 구현에 영향을 미치므로, 즉시 최신 안정 14.x 릴리스로 다운그레이드해야 합니다.


⚠️ 면책 조항

이 프로젝트는 교육 및 승인된 보안 테스트 목적으로만 제공됩니다.
명시적 허가 없이 시스템에 이 도구를 사용하는 것은 불법적이고 비윤리적입니다.

저자는 이 도구로 인한 오용 또는 피해에 대해 책임을 지지 않습니다.


📄 라이선스

이 프로젝트는 MIT License에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.

도구 다운로드
지표세부 정보
심각도CRITICAL (10.0 / 10.0)
벡터CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
공격 벡터Network (Remote)
사용자 상호작용None
소프트웨어 / 패키지브랜치 / 유형🛡️ 패치 / 안전 버전
React안정19.0.1, 19.1.2, 19.2.1
Next.jsv15 (안정)15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7
Next.jsv16 (안정)16.0.7
Next.jsCanary15.6.0-canary.58