
このリポジトリには、web‑audio‑recorder‑js ライブラリのプロトタイプ汚染の脆弱性である CVE‑2026‑2964 の完全なラボ環境が含まれており、特定の条件下でリモートコード実行につながる可能性があります。
このラボには以下が含まれます:
index-vulnerable.js)。index-fixed.js)。前提条件:
npm(Node.js に同梱)curl(セットアップ中にライブラリファイルをダウンロードするため)リポジトリをクローンして依存関係をインストールします:
git clone https://github.com/bughuntblueprint/cve-2026-2964-lab.git
cd cve-2026-2964-lab
npm install
インストール時に、元の WebAudioRecorder.js が higuma GitHub リポジトリから自動的にダウンロードされ、 フォルダに配置されます。
lib/手動でセットアップを実行する場合は:
npm run setup
脆弱なサーバーはポート3000で実行され、プロトタイプ汚染につながるユーザー制御の設定を受け付けるように構成されています。
node index-vulnerable.js
期待される出力:
Original WebAudioRecorder loaded successfully.
Server is running on http://localhost:3000
http://localhost:3000/api/audio/config にリクエストを送信できます。サーバーは受信したすべてのペイロードをログに記録し、汚染が発生したかどうかを示します。
修正済みサーバーはポート3000で実行され、再帰的なキーサニタイズと許可リストの両方を適用して、危険なキーがライブラリコンストラクタに到達する前にブロックします。package.json を変更し、main を index-fixed.js に指定してください。
node index-fixed.js
期待される出力:
Original WebAudioRecorder loaded successfully.
Server is running on http://localhost:3000
このラボは教育目的のみを意図しています。本番システムや、明示的な許可のない対象に対して実行しないでください。紹介されている手法は、開発者やセキュリティ専門家が脆弱性を理解し、適切な防御策を適用するのに役立つことを目的としています。