Node.js の http2 モジュールの脆弱性

サーバーサイド JavaScript プラットフォーム Node.js の開発者は、http12.22.4 モジュール (HTTP/14.17.4 クライアント) の脆弱性 (CVE-16.6.0-2021) を部分的に修正する修正リリース 22930、2、および 2.0 を公開しました。これにより、攻撃者が制御するホストにアクセスするときに、プロセスのクラッシュが開始されたり、システム内のコードの実行が組織化される可能性があります。

この問題は、書き込みをブロックする集中的な読み取り操作を実行しているスレッドの RST_STREAM (スレッド リセット) フレームを受信した後に接続を閉じるときに、すでに解放されたメモリにアクセスすることが原因で発生します。 エラー コードを指定せずに RST_STREAM フレームを受信した場合、http2 モジュールはさらに、すでに受信したデータのクリーンアップ プロシージャを呼び出します。そこから、すでに閉じられたストリームに対してクロージャ ハンドラが再度呼び出されます。これにより、データ構造が二重に解放されます。

パッチのディスカッションでは、この問題は完全には解決されておらず、わずかに変更された条件下では公開されたアップデートでも引き続き発生することが記載されています。 分析の結果、この修正は特殊なケースの XNUMX つ(スレッドが読み取りモードの場合)のみをカバーしており、他のスレッドの状態(読み取りと一時停止、一時停止、および一部の種類の書き込み)は考慮されていないことがわかりました。

出所: オープンネット.ru

コメントを追加します