
React2Shell (CVE-2025-55182) 취약점을 시연하고 테스트하기 위한 테스트 서버
React2Shell RCE (CVE-2025-55182)가 공개된 이후로 이를 연구해 왔으며, 고객과 함께 이 취약점을 방지하기 위해 노력했습니다. React2Shell CVE-2025-55182 취약점을 발견하고 테스트하기 위해 이 테스트 서버를 오픈소스로 공개합니다. 보안 팀이 탐지 능력을 테스트하고, WAF 규칙을 검증하며, 통제된 환경에서 익스플로잇 메커니즘을 이해하는 데 사용되어야 합니다.
취약점은 React Server Components "Flight" 프로토콜 역직렬화에 존재합니다. 안전하지 않은 역직렬화를 통해 공격자가 제어하는 데이터가 조작된 페이로드를 처리할 때 서버 측 실행에 영향을 미칠 수 있습니다.
CVE-2025-55182 (React2Shell)
영향 받는 버전:
| 패키지 | 취약 버전 | 수정 버전 |
|---|
| React | 19.0.0, 19.1.0, 19.1.1, 19.2.0 | 19.0.1, 19.1.2, 19.2.1 |
| Next.js | 15.0.4 - 16.0.6 | 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7 |
| react-server-dom-webpack | 19.0.0 - 19.2.0 | 19.0.1, 19.1.2, 19.2.1 |
| react-server-dom-turbopack | 19.0.0 - 19.2.0 | 19.0.1, 19.1.2, 19.2.1 |
| react-server-dom-parcel | 19.0.0 - 19.2.0 | 19.0.1, 19.1.2, 19.2.1 |
이 서버는 다음을 사용합니다: React 19.0.0 및 Next.js 15.0.4
영향 받는 프레임워크:
cd react2shell-test-server
docker-compose up --build
# Or run in detached mode
docker-compose up -d --build
# View logs
docker-compose logs -f
# Stop the container
docker-compose down
cd react2shell-test-server
npm install
npm run dev
# Production build (also vulnerable)
npm run build
npm start
애플리케이션은 http://localhost:3000에서 접근 가능합니다.
npm install
cd react2shell-test-server
sudo docker build -t react2shell-test-server .
sudo docker run -it --rm -p 3000:3000 react2shell-test-server
React 업데이트:
npm update react react-dom react-server-dom-webpack
Next.js 업데이트:
npm update next
수정된 버전:
FullHunt는 차세대 공격 표면 관리 플랫폼입니다. FullHunt는 기업이 모든 공격 표면을 발견하고, 노출 여부를 모니터링하며, 최신 보안 취약점을 지속적으로 스캔할 수 있도록 지원합니다. 모든 기능이 단일 플랫폼에서 제공됩니다.
FullHunt는 조직을 위한 엔터프라이즈 플랫폼을 제공합니다. FullHunt Enterprise Platform은 고객에게 확장된 스캐닝 및 기능을 제공합니다. FullHunt Enterprise Platform은 조직이 외부 공격 표면을 면밀히 모니터링하고 발생하는 모든 변경 사항에 대한 상세한 알림을 받을 수 있도록 합니다. 전 세계 조직은 FullHunt Enterprise Platform을 사용하여 지속적인 보안 및 외부 공격 표면 보안 과제를 해결합니다.
이 프로젝트는 교육적이고 윤리적인 테스트 목적으로만 제작되었습니다. 사전 상호 동의 없이 대상을 공격하기 위해 react2shell-test-server를 사용하는 것은 불법입니다. 모든 관련 지역, 주, 연방 법률을 준수하는 것은 최종 사용자의 책임입니다. 개발자는 어떠한 책임도 지지 않으며, 이 프로그램의 오용이나 손해에 대해 책임을 지지 않습니다.
이 프로젝트는 MIT 라이선스에 따라 제공됩니다.
Mazin Ahmed