Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
bad-epoll — Linuxカーネルの権限昇格エクスプロイト(CVE-2026-46242)は、epollにおける競合状態のuse-after-freeを悪用し、デスクトップ、サーバー、Androidデバイスで99%の信頼性でルート権限を取得します。 | Kitploit
ツール/GitHubGitHub/j-jaeyoung/bad-epoll
Androidセキュリティ特権昇格脆弱性分析エクスプロイトCTF学習と教育バイナリエクスプロイト
GitHubj-jaeyoung/bad-epoll

bad-epoll

Linuxカーネルの権限昇格エクスプロイト(CVE-2026-46242)は、epollにおける競合状態のuse-after-freeを悪用し、デスクトップ、サーバー、Androidデバイスで99%の信頼性でルート権限を取得します。

リポジトリを見る
5064432ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Bad Epoll: Mythosが見逃したバグ

Bad Epollエクスプロイト実行中:非特権プロセスがrootに昇格

Google kernelCTF上で非特権プロセスがrootに昇格している様子。

Bad Epoll(CVE-2026-46242)は、Linuxカーネルの epoll サブシステムにおける競合状態のuse-after-free脆弱性です。このバグにより、非特権プロセスがルート権限を取得でき、Linuxデスクトップやサーバーだけでなく、Androidデバイスでも影響を受けます。

Bad Epollは、Jaeyoung Chung によってGoogle kernelCTF へのゼロデイ提出として報告・悪用されました。同CTFはLinuxカーネルエクスプロイトに71,337ドル以上の報奨金を提供しています。

[!NOTE] AnthropicのAI Mythos は、同じepollコード内で別の競合バグ を発見しましたが、Bad Epollは見逃しました。


なぜ深刻なのか

  1. Androidをroot化できる稀なバグ。 ほとんどのLinux権限昇格バグはAndroidをroot化できません。例えば Copy Fail やその亜種は、Androidが決してロードしないモジュールを必要とします。GoogleのkernelCTFで悪用された約130件の脆弱性のうち、Androidをroot化できる候補はわずか10件程度です。Bad Epollはその1つです。

    • Bad EpollはChromeのレンダラーサンドボックス内からもトリガー可能であり、これは他のほぼすべてのカーネルバグをブロックします。そのため、レンダラーのエクスプロイトとBad Epollを連鎖させてカーネルコード実行を達成できます。これはProject Zeroが「Chromeレンダラーのコード実行からカーネルコード実行へ:MSG_OOBによる手法」で実証したものと同様の影響です。
  2. キルスイッチが存在しない。 Copy Failとその亜種は脆弱なモジュールをアンロードすることで無効化できますが、epollにはそのような選択肢はありません。epollはオペレーティングシステム、ネットワークサービス、ブラウザのすべてが依存するコアカーネル機能です。修正する唯一の方法はパッチを適用することです。

  3. 競合ウィンドウは極小だが、攻撃成功率は99%。 バグの競合ウィンドウはわずか約6命令分の幅しかなく、通常の試行ではほとんどヒットしません。エクスプロイトはそのウィンドウを拡大し、カーネルをクラッシュさせないリトライループを実行します。結果として、以下の攻撃概要で説明するように、99%の信頼性を持つエクスプロイトとなります。


Mythosが見逃したバグ

2023年の単一のコミットにより、epollコード(全体で約2,500行)に2つの独立した競合状態が導入されました。どちらも権限昇格につながる重大なバグであることが判明しました。

最初のバグはAnthropicのMythosによって発見され、CVE-2026-43074として報告されました。カーネルの競合バグは発見が難しいことで知られているため、この結果はそれ自体が印象的であり、フロンティアAIモデルが競合バグを発見する能力を示しました。独立した研究者は後に、その1-dayエクスプロイトをkernelCTFに提出しました。

もう1つの競合状態がBad Epollであり、Mythosはこれを見逃しました。Mythosがこの小さなepollコードパスで最初のバグを発見したことを考えると、同じ領域をある程度の深さで調査した可能性が高いです。MythosがBad Epollを見逃した正確な理由はわかりませんが、以下の2つの要因により発見が困難だったと考えられます。

  • 競合ウィンドウが極小。 わずか約6命令分の幅しかないため、脆弱なコードを見ていても正確なスレッドインターリーブを想像するのは困難です。

  • 実行時の証拠がほとんどなかった。 CVE-2026-43074が修正された後、Bad Epollのuse-after-freeは通常、カーネルの主要なメモリエラー検出器であるKASANをトリガーしません。そのシグナルがなければ、Mythosはこれを実際のバグとして報告する十分な確信を得られなかった可能性があります。

Bad Epollの修正も困難でした。メンテナによる最初のパッチは問題を完全に修正しておらず、正しいパッチが適用されたのはバグが最初に報告されてから2か月後のことでした。通常セキュリティ問題を緊急に扱うカーネルとしては長い期間です。

全体として、Bad Epollは競合状態があらゆる段階でいかに困難であるかを示しています。フロンティアモデルでも発見が難しく、正しく修正するのも難しく、次のセクションで示すように信頼性のある悪用も困難です。また、フロンティアAIモデルが存在する状況でも依然として探求する価値がある脆弱性研究の方向性を示唆しています。すなわち、狭いタイミング条件と弱い証拠の背後にある実際のセキュリティへの影響を明らかにすることです。


攻撃の仕組み

好奇心旺盛な方向けに、攻撃の概要を以下に示します。

ep_waiterがep_targetを監視:バグの背後にあるepoll構造

リンクされた2つのepollオブジェクト。両方を同時にクローズすると競合が発生する。

epollの2つのクローズパスが同時に実行され衝突します。一方がオブジェクトを解放している間に、もう一方がそのオブジェクトに書き込みを行い、これがuse-after-free(UAF)となります。

クローズ対クローズの競合ウィンドウと、エクスプロイトがタイマー割り込みを使ってそれを引き起こす方法

競合ウィンドウと、エクスプロイトがそれを引き起こす方法。

エクスプロイトは4つのepollオブジェクトを2組にグループ化して使用します。1組が競合をトリガーし、もう1組が犠牲者となります。そこからエクスプロイトは、8バイトのUAF書き込みをファイルオブジェクトのUAFに変換し、クロスキャッシュ攻撃を使用してファイルの内容を完全に制御します。

任意のカーネル読み取り:パイプによってバックアップされたぶら下がりstruct fileが/proc/self/fdinfoを通じてカーネルアドレスを漏洩

/proc/self/fdinfoを通じてバグを任意のカーネルメモリ読み取りに変換する。

その制御により、エクスプロイトは /proc/self/fdinfo を通じてカーネルメモリの任意読み取りを獲得します。最後に制御フローを乗っ取り、ROPチェーンを実行してルートシェルを取得します。

詳細は、完全なエクスプロイトの解説とコードにあります。


緩和策

epollは無効化できないため、Bad Epollには簡単な回避策はありません。唯一の対策はパッチを適用することです。

  • アップストリームコミット a6dc643c6931 を適用するか、ディストリビューションのバックポートが利用可能になり次第適用してください。

影響を受けるバージョン

Bad Epollは 58c9b016e128(2023-04-08) で導入され、a6dc643c6931(2026-04-24) で修正されました。

多くのLinuxディストリビューションは、v6.4以降のカーネルを使用しており、上記の修正をバックポートしていない場合、影響を受ける可能性があります。お使いのディストリビューションのカーネルセキュリティアップデートで、修正コミットのバックポートを確認してください。v6.1ベースの古いカーネルは、バグがv6.4で導入されたため影響を受けません。

現在のエクスプロイトは、以下のGoogle kernelCTFターゲット向けに作成されています。

  • lts-6.12.67(LTS)、99%の信頼性
  • cos-121-18867.294.100(COS)、98%の信頼性

Androidエクスプロイトは現在開発中です。

  • Pixel 10(カーネル v6.6+):現在のPoCはUAFをトリガーし、完全なルートエクスプロイトは開発中です。Androidエクスプロイトと解説は完成次第公開します。
  • Pixel 8およびその他のv6.1ベースのデバイス:バグはv6.4で導入されたため、影響を受けません。

タイムライン


よくある質問

なぜ「Bad Epoll」と呼ばれるのか?

この名称は、Androidをroot化するカーネルバグの「Bad」シリーズに従ったものです。初期のものには Bad Binder、Bad IO_uring、Bad Spin があります。Bad Epollはepoll版です。

技術的な詳細はどこで見られますか?

このページは短縮版です。根本原因の分析、エクスプロイト解説、エクスプロイトコードは以下のリンクにあります。

  • 根本原因の解説
  • エクスプロイトの解説
  • エクスプロイトコード

謝辞

Bad EpollはJaeyoung Chungによって報告・悪用されました。

私たちの研究グループであるCompSec Lab、特にEulgyu Kim、Woohyuk Choi、Dae R. Jeong、そして指導教官のByoungyoung Leeに多大なる感謝を捧げます。彼らの指導と支援に深く感謝します。

ツールをダウンロード
日付出来事
2023-04-08バグがepollに導入されました(コミット 58c9b016e128)。
2026-02-17バグを[email protected]に報告しました。
2026-02-17メンテナがパッチのプロトタイプを提案しましたが、正しい修正ではなく、その後議論は停滞しました。
2026-04-02Mythosが発見したバグ(CVE-2026-43074)の修正がmainlineに取り込まれました。
2026-04-22残りの問題を再度報告しました。
2026-04-24このバグの修正がmainlineに取り込まれました(コミット a6dc643c6931)。