「PwnEscape」と名付けられたLinuxカーネルのネットワーク機能の重大な脆弱性により、研究者が仮想マシン(VM)から脱出し、ホスト上でroot権限のコマンドを実行できることが明らかになりました。
この脆弱性はVercelが開催した賞金100万ドルのSandboxチャレンジで発見されました。問題があるのはKVMそのものではなくホスト側のネットワーク処理です。ハイパーバイザー外のインフラが、仮想化の境界を損なう可能性があることを示しています。
Vercelは、本番環境でホストメモリが漏えいしたことを確認しました。一方、Nigusu Kasahun氏は、本番と同じ構成にした研究者所有のKVMおよびFirecracker環境で、ホストのクラッシュと管理者権限での実行を実証しています。
提供された調査資料では、この脆弱性はCVE-2026-99999とされています。ただしVercelが10月14日に公開した情報には、CVEは未確定と記されています。この識別子は、独立して確認されたものとはまだ扱えません。
Vercelによると、このカーネルの欠陥を報告したのは、pwn.aiの研究者Paulos Yibelo氏です。特別なアクセス権のない標準的なサンドボックスから報告したとのことです。
攻撃では、Linuxが遅延チェックサム計算を扱う仕組みを悪用します。CHECKSUM_PARTIALが設定されたパケットバッファには、チェックサム計算の開始位置と、結果の書き込み先を示すメタデータが含まれています。
不正な条件下では、このメタデータによってskb_checksum_help()が本来のチェックサムの書き込み先ではなく、IPv4ヘッダーを上書きする場合があります。アップストリームのコミットでも、不正なチェックサムのメタデータがネットワークヘッダーを破壊し得ることが明確に確認されています。
Nigusu Kasahun氏によると、危険な書き込みが起きるのは、それ以前のネットワーク処理でパケットの検証と解釈が済んだ後です。その後のIPv4フラグメンテーションで、カーネルは書き換えられたヘッダーの内容を信頼できるものとして処理してしまいます。
Nigusu Kasahun氏は、IPv4ヘッダー長の解釈を20バイトから60バイトに変更したと説明しています。同氏が制御した構成では、パケットの論理的なリニアバッファは28バイトしかありませんでした。その結果、フラグメンテーションの際にホストメモリの32バイトが、IPv4オプションに見える形で送信パケットにコピーされました。
これは有効なパケットデータを超えた情報の漏えいです。背後にある物理的なメモリ割り当て領域を超えて読み取ったとは限りません。Vercelも独自に検証し、細工したゲストのパケットによって、ホストメモリをネットワーク経由で継続的に露出させられることを確認しました。
研究者らは、再現可能な情報漏えいから始め、ホストカーネルへの64バイトの任意書き込みへと進み、最終的に自らのインフラ上でホストのroot権限のヘルパーを実行したと報告しています。
コールドブートを4回行い、いずれも実行に成功したとしています。ただし、アロケータの挙動に左右される攻撃チェーンの全容は公開していません。
Vercelは、本番環境と実験環境で得られた証拠を区別しています。メモリ漏えいは本番のサンドボックスで発生しましたが、ホストのクラッシュとrootでのコマンド実行は、研究者が管理するマシンで実証されたものです。
チャレンジの報告書によると、顧客のファイル、シークレット、アプリケーションデータへのアクセスを実証した応募はありませんでした。Michael S. Tsirkin氏が作成したLinuxのコミット6785011f8b16は、ip_check_csum_start()を導入し、チェックサム完了処理を行う5つの呼び出し元に検証を適用します。
このヘルパーは、解析済みIPv4ヘッダーの終端より前にチェックサムの開始位置がある場合にこれを拒否します。これにより、遅延された完了処理がそのヘッダーを書き込み先にすることを防ぎます。
パッチの対象は、IPv4フラグメンテーション、ブリッジのフラグメンテーション、Netfilterのキュー処理、CHECKSUMターゲット、XFRMの出力処理です。コミットメッセージはこの変更を多層防御と位置づけ、より広範な入力検証にはさらなる作業が必要だと明記しています。
運用担当者がまず優先すべき対策は、ホストカーネルの更新にこの修正、またはベンダーによる同等のバックポートが含まれているかを確認することです。影響を受ける環境では、ゲストカーネルを更新すれば、脆弱なホスト側のネットワーク処理経路も修正されると考えてはいけません。
1万6,000以上のSOCチームがANY.RUNを導入し、脅威調査を効率化して手作業を削減しています。チームでの活用を検討する
翻訳元: https://cyberpress.org/critical-linux-kernel-zero-day/