
LinuxカーネルFUSE情報漏洩(CVE-2024-44947)の概念実証エクスプロイト。mmapを介したEOF超過メモリ開示を実証し、メモリダンプ解析を含みます。
説明: Linux カーネルにおいて、以下の脆弱性が修正されました: fuse: ファイル終端を超えるページの内容を初期化してから uptodate に設定する fuse_notify_store() は、fuse_do_readpage() とは異なり、ページのゼロ化を有効にしません(部分的なページ内容の変更に使用できるため)。そのため、fuse_notify_store() は、ページを uptodate とマークする前に、ページの内容(ファイル終端を超える部分を含む)を完全に初期化するよう、より慎重に行う必要があります。現在のコードでは、ファイル終端を超えるページの内容が初期化されないままになる可能性があり、これにより mmap() を介してこれらの初期化されていないページ内容がユーザー空間から見えるようになります。これは情報漏洩ですが、init-on-alloc を有効にしていないシステム(CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y または対応するカーネルコマンドラインパラメータ経由)にのみ影響します。
メモリダンプの増加: メモリダンプサイズが 8 ページに倍増され、潜在的な漏洩をより広範囲に確認できるようになりました。
ヒューリスティックエンジン: ダンプされたメモリをスキャンして、"HTTP" ヘッダー、"ELF" ヘッダー、およびその他の既知のデータ構造などの特定のパターンを探す、シンプルなヒューリスティックエンジンを導入しました。これにより、漏洩データの特定と分類がより効果的になります。
拡張された FUSE 操作: より大きなペイロードを持つ、より複雑な FUSE 操作を追加し、さまざまな条件下で脆弱性をトリガーする可能性を高めました。
ランダム化と動的要素: PoC には特定の操作にランダム化が含まれており、さまざまなシナリオをシミュレートし、多様な結果を引き起こす可能性があるため、エクスプロイトがより堅牢になります。
詳細なメモリ分析: PoC はメモリダンプの詳細な分析を実行し、16 進数の値を出力し、ヒューリスティックマッチングによって潜在的なデータ漏洩を特定します。
gcc -o fuse_poc_advanced fuse_poc_advanced.c
sudo ./fuse_poc_advanced
この強化された PoC は、上級ユーザーや研究者向けに設計されており、FUSE 脆弱性の調査と悪用のためのより包括的なフレームワークを提供します。動的要素、洗練されたメモリ処理、ヒューリスティック分析が含まれており、詳細な脆弱性分析と悪用シナリオに適しています。