MicrosoftのAI、LinuxカーネルにAndroidを含む環境でroot権限を奪える脆弱性を発見

AIスキャンシステムが、数十件のLinuxカーネルのバグを発見しました。その一部は、LinuxおよびAndroidデバイス上で一般のローカルユーザーがrootになれる深刻なものです。

この成果を上げたのは、MicrosoftのFORGE Labです。コードネーム「MDASH」というツールを使い、2026年5月下旬から6月中旬にかけてLinuxカーネルの一部をスキャンしました。

取り組みを主導したのは、専任の研究者1人とインターン1人です。これまでに、アップストリームへの公開報告59件と、採番されたCVE 33件を生み出しています。

チームは、このうち8件のCVEについて、root権限への昇格が可能な実動エクスプロイトを確認しました。また、38件の報告に対する修正は、すでにLinuxのメインラインにマージされています。

AIスキャンは約2週間で、26,502件の未加工の検出結果を出力しました。チームは確度の低いものを除外し、候補を11,769件まで絞り込みました。

続いて、AIエージェントが、仮想マシンツールのQEMU上で各バグの再現を試みました。概念実証(PoC)の証拠が得られた621件については、専門家がレビューしています。

この621件のうち、公開報告に至ったのは59件(9.5%)にとどまります。残りの大半は、次の3つの理由のいずれかで除外されました。

検出結果を報告書にまとめる作業には、4人月以上を要しました。Linuxのメンテナーは、各報告に動作するパッチが付いていることを求めるため、ボトルネックは依然として人間です。

修正案の草稿作成にはエージェントが貢献しましたが、検証やメンテナーとのやり取りは人間が担いました。最初のパッチが公開されてからメインラインのリリースに反映されるまで、中央値で41日かかっています。

バグの多くは古いものでした。報告時点でのバグの平均経過年数は8.1年で、cls_u32の欠陥(CVE-2026-74544)は少なくとも21年間存在していました。33件のCVEのうち24件は、深刻度が「高」以上(CVSS 7.0以上)と評価されています。

最も詳細に解説されているのが、CVE-2026-64563です。これは、カーネルの共有型リサイズ可能ハッシュテーブル「rhashtable」に潜む、1行のバグです。カーネルコードは、ソケットなどのオブジェクトを保存するためにこれを使っています。

プログラムがオブジェクトの長い一覧を要求すると、カーネルは一覧の出力を一時停止し、後で再開できます。イテレータは、iter->pというポインタで現在位置を記憶します。

2018年の変更で、ポインタのリセット処理が再開用コードに移されましたが、1つの経路が見落とされました。一時停止中のリサイズで旧テーブルが解放されると、古いポインタが設定されたまま残ります。その結果、次のステップで解放済みメモリを読み取る可能性があります。修正はiter->p = NULLの1行のみです。

このバグは、Netlinkソケット診断を通じて悪用できます。特権のないユーザーが標準的なカーネルで到達でき、応答間の一時停止もユーザー空間が制御します。

攻撃者は、ダンプを一時停止し、テーブルをリサイズし、ソケットを解放してそのメモリを再割り当てできます。これにより、偽のソケットポインタと、制約付きの64ビットのカーネル書き込みが生じます。

この書き込みは、他の一般的な手法と組み合わせることで、ローカルでの権限昇格に十分です。Microsoftによると、特別なカーネル設定やユーザー名前空間がなくても、LinuxおよびSELinuxがenforcingのAndroidで動作したということです。

このバグは、偶然に発動させることは困難でした。同一の走査中に、一時停止と再開、テーブルのリサイズ、エントリの解放がすべて必要になるためです。NebuSecの研究者も独自にこのバグを発見し、動作するエクスプロイトを提供しています。

16,000以上のSOCチームがANY.RUNを活用し、脅威調査を効率化して手作業を削減しています。チームで試す

翻訳元: https://cyberpress.org/ai-uncovers-linux-vulnerability/

本記事は cyberpress.org の記事を翻訳・要約したものです。