Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
cve-2026-98432-kernel-upgrade — Ubuntu 24.04でNVIDIAを使用する際のCVE-2026-98432に対する安全なカーネルアップグレードと、そのバグの分析 | Kitploit
ツール/GitHubGitHub/bigbiuewhale/cve-2026-98432-kernel-upgrade
防御ツール脆弱性分析スクリプトと自動化構成監査バイナリ解析学習と教育インシデントレスポンス
GitHubbigbiuewhale/cve-2026-98432-kernel-upgrade

人気

すべて見る →

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

すべてのツールを探索

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

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

cve-2026-98432-kernel-upgrade

Ubuntu 24.04でNVIDIAを使用する際のCVE-2026-98432に対する安全なカーネルアップグレードと、そのバグの分析

リポジトリを見る
13日前未レビュー

CVE-2026-98432 カーネルアップグレード

これは、NVIDIA GPU を搭載した Ubuntu 24.04 マシンを、カーネルの IPv4 TCP コードにおける use-after-free である CVE-2026-98432 を修正したカーネルへ移行します。アップグレードが失敗した場合に到達できなくなる可能性があるマシン向けに作られています。起動が完了するまでは何も信頼されず、失敗したステップは壊れたホストを残すのではなく明示的に停止します。

修正が含まれているなら、Ubuntu の通常のアップデートを優先してください。 これが存在するのは、これが書かれた緊急時に、修正済みのカーネルが Canonical のステージングアーカイブにあるプレリリースビルドだけだったからです。最新の公開カーネル 7.0.0-42 にはまだバグが残っていました。

これは必要ですか?

バージョン番号で判断しないでください。実行中のカーネル自身のコードを personal_server のゲートで読んでください:

sudo bash scripts/14_verify_kernel_fixes.sh

実行中のカーネルのマシンコードをライブメモリから読み取り、次にGRUBが起動するカーネルのマシンコードをそのイメージから読み取ります。修正済みカーネルでは、inet_sock_destruct と tcp_v4_reqsk_destructor は kvfree_call_rcu を呼び出します。脆弱なカーネルでは、これらは kfree を呼び出します。

失敗した場合は、まず通常のルートを試してください:

sudo apt-get update
sudo apt-get install --only-upgrade linux-generic-hwe-24.04
sudo systemctl reboot

このリポジトリは、固定カーネルをもたらさない場合にのみ使用してください。

使用方法

このプロセスは実行中に監査証跡を Git に公開するため、独自のコピーが必要です。このリポジトリをフォークし、そのマシン上で:

git clone <your fork> && cd <it>
kernel-upgrade/install.sh
sudo systemctl reboot

再起動には約8分かかります。マシンはさらに2回自動的に再起動し、あなたの操作は必要ありません:

uname -r                                       # must print 7.0.0-43-generic
python3 -I kernel-upgrade/upgrade.py status    # must say complete

マシンに適合しない場合、インストーラーはその理由を伝え、何も変更しません。kernel-upgrade/PROCEDURE.mdには、ホストに必要なもの、すべての失敗とその対処方法、そしてクラッシュ境界が記載されています。

動作内容

ブート起動する主体カーネル何が起こるか
1あなたここで動作することが確認されているカーネルGRUBがこのディスクに書き込めることを証明するため、1回限りのブートが本当に1回限りであることが保証される
2プロセスが1回だけ-43、1回限りカーネルメモリから修正を読み取り、ホストが以前持っていたすべてを確認する。パニックが発生すると、自動的に既知の正常なカーネルに戻る
3プロセスが1回だけ-43、標準のGRUB経由標準のGRUBが復元され、他のすべてのカーネルが削除された最終状態を証明する

保証されること:

  • completeは証明済みを意味する。 このステータスは、最終的なGRUBとカーネルの状態を経たブートの後にのみ到達し、最終レコードはステータスが保存される前にGitに到達する。
  • ハードコードされたものは何もない。 lock.jsonは何をインストールするかを示し、どのマシンに関する情報も含まない。フォールバック、削除リスト、ヘルスベースラインはすべてホストから読み取られ、最初の変更前に公開される。
  • 拒否は何も変更しない。 パッケージトランザクション全体が最初にシミュレートされる。
  • フォールバックは実際にここでブート済みである。 それは、このホスト上で正確なinitramfsがすでに実行された最新のカーネルであり、一度もブートしたことのないカーネルが選ばれることはない。
  • APTには何も追加されない。 ソース、キー、ピン、ホールドは一切なし。パッケージはどこから来たものでもハッシュロックに対して検証される。
  • すべてのステップが記録される。 ホストを変更する各ステップは、実行前と実行後にGitに到達し、rootがGit認証情報を保持することはない。公開が停止すれば、それ以降のステップは開始されない。
  • 停電はどの時点でも耐えられる。 PROCEDURE.mdに記載されたウィンドウを除く。次のブートは明示的に継続または停止する。

テスト方法

kernel-upgrade/vm/final-run.shは、4 TBのエミュレートされたNVMeディスクを備えたUEFIテストマシンをゼロから構築し、その中で正確なインストーラーを実行します。test-report.jsonは合格したもののハッシュを記録し、install.shはコードがそのレポートと異なる場合、実行を拒否します。

24のシナリオは、パッケージ中、最終パージ中、最終レコード後の実際の停電、カーネルパニックとハング、各段階でのGitHubのダウン、そして拒否されるべきマシンをカバーしています。from-zeroは、実際のUbuntuアーカイブからpersonal_serverの実際のスクリプトでマシンを構築し、ゲートがそれを拒否するのを確認し、アップグレードし、ゲートが合格するのを確認します。from-zeroには、このリポジトリの隣にpersonal_serverのクローンが必要です。

VMでは示せないことはPROCEDURE.mdに記載されています。主なものは実際のファームウェアであり、これはブート1でマシン自体上でテストされます。

最初の実際の使用

これは2026-11-02に、4 TBのNVMeディスクとRTX 5090を搭載したインターネットに公開されたサーバーで実行されました。そのマシンにはリモートコンソールがなく、ネットワーク上の電源スイッチのみがあります。標準のGRUBを経た最初のブートはすべてのチェックに合格し、7.0.0-43が唯一のカーネルであり、修正はライブカーネルメモリ内で確認されました。

このプロセスの最初のバージョンはそこで動作しましたが、正しいものではありませんでした。systemdは最後のミリ秒でそれを強制終了しました。なぜなら、実行中に自身のユニットファイルを削除したからです。また、標準のGRUBがブートする前に自身をcompleteと呼び、そのマシンの詳細が組み込まれていました。このリポジトリはその再構築です。その後、独立したレビューにより、再度実行される前にさらなる実際の欠陥が見つかりました。これには、パッケージが変更された後にすべての実際のNVMeホストを停止させてしまうであろうチェックが含まれています。

レイアウト

├── ANALYSIS.md                 what the bug is, what MPTCP changes, and the limits of that
├── upstream-fix.diff           the two-line upstream fix
├── filter/                     an interim packet filter. It reduces exposure and isn't a fix
└── kernel-upgrade/
    ├── PROCEDURE.md            the full procedure, failure table and crash boundary
    ├── install.sh              the entry point
    ├── upgrade.py              the controller and the audit publisher
    ├── lock.json               what to install, with hashes
    ├── cuda-probe.c            a real GPU allocation, for the health check
    ├── test_upgrade.py         logic tests against a real Git remote
    ├── test-report.json        what passed, and the exact bytes it covered
    ├── test-evidence/          the journal of each VM scenario
    └── vm/                     the VM test harness

コードは Unlicense の下で公開されています。各パッケージはそれぞれ独自のライセンスを保持しています。release には Canonical のカーネルパッケージと dkms が含まれています。これはステージングアーカイブが古いビルドを削除するためです。NVIDIA のパッケージはここでは再配布されていません。これらはお使いの Ubuntu アーカイブから取得されます。

ツールをダウンロード