OpenAIのCodexがNode.js BrotliのRC... ノート

OpenAIのCodexがNode.js BrotliのRCEを発見。Impervaが公式ビルド上でコードを実行

Node.js の Brotli デコーダーに重大な脆弱性 (CVE-2026-111497) が発見され、メモリ破損、情報漏洩、またはリモートコード実行の可能性があります。このバグは Node.js バージョン 22、24、26 に影響しますが、Node 20 は修正されません。この問題は、無効なブロック切り替えに遭遇した際に、デコーダーが 8 バイトの内部バッファーを超えてデータを追加しようとすることに起因します。OpenAI Codex Security の研究者がこの欠陥を報告し、Imperva は標準的な Node.js イメージでコード実行を実証することに成功しました。この脆弱性は、Node.js アプリケーションが取得した圧縮レスポンス、または Express 5 のようなフレームワークによって処理される Brotli エンコードされたリクエストボディのいずれかによってトリガーされる可能性があります。コード実行にはテストで複数回の試行が必要でしたが、サービス拒否につながるクラッシュや限定的なメモリ読み取りは、より容易に達成可能です。公式の Node.js セキュリティアドバイザリでは、一部のメディアがより高い CVSS スコアを割り当てているにもかかわらず、このバグは「クリティカル」ではなく「ハイ」と評価されています。修正は Node.js バージョン 22.23.4、24.22.1、26.12.1 で利用可能です。重要なのは、Node 20 およびそれ以前のバージョンはサポート終了 (end-of-life) であり、パッチは提供されないため、アップグレードが必要です。このアップデートでは、高深刻度の TLS および DNS の問題を含む、他の 9 つの CVE も修正されます。組織は、コンテナイメージ、CI ランナー、VM に組み込まれているものなど、見過ごされがちなすべての Node.js インスタンスを監査することが強く推奨されます。提供されている check-node.mjs スクリプトは、脆弱な Node.js バージョンを特定するのに役立ちます。開発者は、直接 Brotli 解凍を呼び出すコードも確認する必要があります。Vercel のような WAF はインバウンド攻撃をブロックできますが、Node.js が取得したレスポンス内の悪意のある Brotli からは保護されないため、パッチ適用の継続的な必要性が浮き彫りになります。この脆弱性は、デプロイされたランタイムを包括的に理解することの重要性を強調しており、これは著者の書籍「Ship It」で取り上げられているトピックです。著者はまた、開発者向けの AI パワード IDE である Hermes IDE も開発しています。
CdXz5zHNQW_WGD8ybkYPu.webp