
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
# またはデタッチドモードで実行
docker-compose up -d --build
# ログを表示
docker-compose logs -f
# コンテナを停止
docker-compose down
cd react2shell-test-server
npm install
npm run dev
# プロダクションビルド(脆弱性あり)
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 エンタープライズプラットフォームは、お客様に拡張スキャンと機能を提供します。FullHunt エンタープライズプラットフォームにより、組織は外部の攻撃表面を綿密に監視し、発生するすべての変更について詳細なアラートを受け取ることができます。世界中の組織が FullHunt エンタープライズプラットフォームを利用して、継続的なセキュリティと外部攻撃表面のセキュリティ課題を解決しています。
このプロジェクトは教育および倫理的なテスト目的のみで作成されています。事前の相互同意なしにターゲットを攻撃するために react2shell-test-server を使用することは違法です。エンドユーザーは、該当するすべての地域、州、連邦法を遵守する責任があります。開発者は一切の責任を負わず、このプログラムの誤用または損害について責任を負いません。
本プロジェクトはMITライセンスの下で提供されています。
Mazin Ahmed