RSS Zero Day Initiative - ブログ

CVE-2024-20697: Windows Libarchive リモートコード実行脆弱性

Microsoft Windows に含まれる Libarchive ライブラリで、RARVM フィルタのブロック長に対する境界チェックが不十分であるため、整数オーバーフロー脆弱性が存在します。この脆弱性を悪用するために、攻撃者は標的ユーザーに作成されたRARアーカイブを展開させるように誘い込み、脆弱なライブラリを使用するアプリケーションのコンテキストで任意のコードを実行する可能性があります。この脆弱性は、RARアーカイブのパースに絡むものです。RARアーカイブは、各々がヘッダーで始まる可変長ブロックの系列で構成されています。この脆弱性は、特定のフィンガープリントを持つRARVMフィルタが実行されたときに発生し、execute_filter_e8()関数のループ条件で整数オーバーフローが起こります。このオーバーフローは、ヒープベースのバッファーが表すVMメモリーの境界を超えるメモリー・アクセスを引き起こします。この脆弱性を悪用する攻撃を検出するために、検出デバイスは、RARアーカイブが送信される可能性のある一般的なポート(FTP、HTTP、SMTP、IMAP、SMB、POP3など)でのトラフィックを監視し、パースする必要があります。デバイスは、RarBlock Marker、ArcHeader、FileHeader ブロックを識別し、ファイルの圧縮されたデータをパースします。デバイスは、各ブロックをそれが圧縮されたアルゴリズムに従って展開し、LZ アルゴリズムで圧縮されたブロックが見つかった場合は、ハフマン・テーブルとシンボルをデコードします。シンボル 257 が見つかった場合は、次のデータをRARVMフィルタとしてパースし、Code フィールドのサイズを計算します。デバイスは、Code フィールドを指定された構造に従ってパースし、実装されたアルゴリズムに従って数値フィールドを読み取ります。
favicon
thezdi.com
CVE-2024-20697: Windows Libarchive Remote Code Execution Vulnerability