
CVE-2025-55182 (React2Shell)를 위한 보안 툴킷 — React Server Components RCE 취약점 스캔, 탐지, 연관 분석 및 테스트
flight risk /flaɪt rɪsk/ — React의 Flight 프로토콜은 React 서버 컴포넌트의 직렬화 계층입니다. CVE-2025-55182는 Flight의 역직렬화 결함을 악용하여 인증 전 RCE를 달성합니다. 앱이 RSC를 사용한다면, flight risk입니다.
CVE-2025-55182 (React2Shell) — React Server Components의 CVSS 10.0 사전 인증 원격 코드 실행 취약점을 위한 보안 툴킷입니다. 스캔, 탐지, 연관, 테스트 기능을 제공합니다.
| 도구 | 설명 |
|---|---|
| react2shell-scanner | 취약한 React/Next.js 종속성을 위해 GitHub 조직 및 GCP 프로젝트를 스캔합니다. 승인된 익스플로잇 테스트 (safe-probe, file read, dir list, command exec). |
| gcp-ioc-scanner | 여러 프로젝트와 K8s 서비스에서 Indicator of Compromise 패턴을 위해 GCP Cloud Logging을 쿼리합니다. 플러그 가능한 IOC 정의. |
| gcp-log-correlator | 동일한 파드에서 시간 근접성으로 GCP 로그 이벤트를 연관시킵니다 — 예: RCE 오류를 트리거한 HTTP 요청을 찾습니다. |
# Clone
git clone https://github.com/YOUR_USER/flight-risk.git
cd flight-risk
# Install dependencies
pip install -r react2shell-scanner/requirements.txt
pip install pyyaml # for gcp-ioc-scanner
# Make scripts executable
chmod +x react2shell-scanner/bin/*
chmod +x gcp-ioc-scanner/gcp-ioc-scanner
chmod +x gcp-log-correlator/gcp-log-correlator
# Authenticate
gh auth login # GitHub scanning
gcloud auth application-default login # GCP scanning + log analysis
모든 명령은 저장소 루트에서 실행됩니다.
react2shell-scanner/bin/scan-github \
--org YOUR_GITHUB_ORG \
--output ./results/github
react2shell-scanner/bin/scan-gcp \
--project YOUR_GCP_PROJECT \
--output ./results/gcp
react2shell-scanner/bin/scan-all \
--org YOUR_GITHUB_ORG \
--project YOUR_GCP_PROJECT \
--output ./results
python3 react2shell-scanner/cli.py https://your-app.example.com
# Dry run — show payload without sending
python3 react2shell-scanner/cli.py --dry-run --verbose https://your-app.example.com
# Read file via RCE
python3 react2shell-scanner/cli.py --method read-file https://your-app.example.com /etc/hostname
# List directory via RCE
python3 react2shell-scanner/cli.py --method list-dir https://your-app.example.com /app
# Execute command via RCE
python3 react2shell-scanner/cli.py --method exec-cmd https://your-app.example.com "id"
# Batch targets
python3 react2shell-scanner/cli.py --targets targets.txt --output results.json
gcp-ioc-scanner/gcp-ioc-scanner \
--targets gcp-ioc-scanner/examples/targets-example.yaml \
--iocs gcp-ioc-scanner/iocs/cve-2025-55182.yaml \
--start 2026-01-01 \
--end 2026-04-01 \
--output ./results/ioc-scan
gcp-log-correlator/gcp-log-correlator \
--project YOUR_GCP_PROJECT \
--namespace frontend \
--pod-pattern "web-app.*" \
--trigger-filter 'severity=ERROR' \
--preceding-filter 'httpRequest.requestMethod:*' \
--window 30s \
--start 2026-04-01T00:00:00Z \
--end 2026-04-02T00:00:00Z \
--format json,markdown \
--output ./results/correlation
cd react2shell-scanner
docker compose -f docker/docker-compose.yml build
docker compose -f docker/docker-compose.yml run scanner-shell
flight-risk/
├── README.md
├── LICENSE
├── react2shell-scanner/
│ ├── bin/ # scan-github, scan-gcp, scan-all
│ ├── cli.py # Exploit testing CLI
│ ├── exploit.py # Exploitation logic
│ ├── utils.py # Shared utilities
│ ├── lib/ # Shell + Python helpers
│ ├── vuln-defs/ # Pluggable vulnerability definitions
│ ├── docker/ # Containerized scanning
│ ├── examples/ # Example scripts
│ ├── test-app/ # Vulnerable Next.js fixture
│ └── requirements.txt
├── gcp-ioc-scanner/
│ ├── gcp-ioc-scanner # IOC log scanner
│ ├── iocs/ # IOC pattern definitions
│ └── examples/ # Target config examples
└── gcp-log-correlator/
├── gcp-log-correlator # Event correlator
└── examples/ # Correlation examples
gh)gcloud)jq승인된 사용만 허용됩니다. 이 툴킷은 익스플로잇 코드를 포함하고 있습니다. 소유하고 있거나 명시적인 서면 승인을 받은 시스템에만 사용하십시오. 무단 사용은 컴퓨터 사기 및 남용 법률(18 U.S.C. 1030) 및 이에 상응하는 법률을 위반할 수 있습니다.
MIT -- LICENSE 참조.
| CVSS | 10.0 심각 |
| 벡터 | 네트워크 / 사전 인증 / 상호 작용 없음 |
| React | 19.0.0 - 19.2.0 (19.3.0에서 수정됨) |
| Next.js | 14.3.0 - 15.3.5, 16.0.0 - 16.0.7 (15.3.6, 16.0.8에서 수정됨) |
| 근본 원인 | React Flight 프로토콜의 안전하지 않은 역직렬화 |
| 영향 | 애플리케이션 프로세스 사용자로서의 전체 RCE |