
CVE-2022-0185 Linuxカーネルのヒープオーバーフロー脆弱性に関する調査と概念実証(PoC)です。
CVE-2022-0185 Linuxカーネルのヒープオーバーフロー脆弱性に関する調査と概念実証(PoC)です。
CVE-2022-0185 – Linuxカーネル ヒープオーバーフロー解析 概要
CVE-2022-0185 は、Linuxカーネルのファイルシステムコンテキスト実装におけるヒープベースのバッファオーバーフロー脆弱性です。この問題は legacy_parse_param() 関数に存在し、特定の構成ではローカル権限昇格を許す可能性があります。
CVE ID: CVE-2022-0185
コンポーネント: Linuxカーネルのファイルシステムコンテキスト
脆弱性タイプ: ヒープバッファオーバーフロー
攻撃ベクトル: ローカル
影響: 権限昇格
作成者: Sandesh Pantha プロジェクト種別: セキュリティ研究および教育用デモンストレーション
公式リファレンス:
NVDエントリ: https://nvd.nist.gov/vuln/detail/CVE-2022-0185
Openwall勧告: https://www.openwall.com/lists/oss-security/2022/01/18/7
Linuxカーネル修正コミット: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=722d94847de29310e8aa03fcbdb41fc92c521756
脆弱性の根本原因
この脆弱性は、fsconfig() システムコールを介してファイルシステムパラメータを解析する際の境界チェックの不備に起因します。
legacy_parse_param() 内:
ユーザー制御のデータが内部バッファに追加される
サイズ計算がオーバーフローを適切に防止していない
繰り返し呼び出しによりヒープメモリの破損が発生する可能性がある
これにより、隣接するヒープオブジェクトへの範囲外書き込みが発生し、結果として以下の状態を引き起こす可能性があります:
カーネルメモリの破損
情報漏えい
Use-After-Free(解放後使用)状態
権限昇格
影響を受けるバージョンは、以下のLinuxカーネルより前のバージョンです:
5.11.0
5.16.2
5.15.16
5.10.93
研究の焦点
このプロジェクトは以下を示しています:
fsopen() を使用したファイルシステムコンテキストの作成
fsconfig() によるパラメータインジェクション
カーネルヒープスプレー技術
メッセージキューを使用したヒープグルーミング
ソケットバッファスプレー
制御されたオブジェクト再利用パターン
このリポジトリの目的は教育用です:管理されたラボ環境でカーネルヒープの動作と脆弱性の悪用手法を理解することです。
ラボ環境
テストは、隔離された仮想マシン内でのみ実行してください。
推奨セットアップ:
脆弱なカーネルを搭載した Ubuntu 20.04 または Debian
QEMU または VirtualBox
テスト前にスナップショットを有効化
非本番環境
本番システムでは決して実行しないでください。
緩和策
この脆弱性は、legacy_parse_param() の境界検証ロジックを修正することで解決されました。
緩和手順:
パッチ適用済みのカーネルバージョンにアップグレードする
可能な場合は非特権ユーザーネームスペースを無効化する
異常なファイルシステムコンテキストの動作を監視する
修正を含むカーネルバージョン:
5.16.2
5.15.16
5.10.93
パッチ参照: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/
このプロジェクトが示すこと
Linuxカーネルの内部構造に対する深い理解
ヒープメモリレイアウトの把握
カーネルオブジェクトのライフサイクル操作
安全な脆弱性研究方法論
責任ある情報開示の実践
倫理的使用
このプロジェクトは、教育および防御的なセキュリティ研究目的のみで提供されています。
明示的な許可なく、この知識をシステム上で使用しようとしないでください。