
実行中のLinuxカーネル上でCVE-2026-98432を検出し、検証済みのディストリビューション(Debian 12/13、Amazon Linux 2/2023)に限り公式の修正済みカーネルを適用します。Ubuntu/RHELは検出のみ。Rocky/Alma/Oracle/Fedora/SUSE/Arch/Alpineは識別されますが自動修正は行いません。
简体中文 | English
Linux サーバーで現在実行中のカーネルが CVE-2026-98432 の影響を受けているかどうかを検出し、適応と検証が完了しているディストリビューション上で公式の修正カーネルパッケージをインストールします。本ツールはディストリビューションの識別、カーネルからパッケージへのマッピング、脆弱性ステータスの判定、カーネルのインストールとインストール後の再確認をカバーし、業務設定を変更せず、サーバーを自動再起動しません。
自動修復は Debian 12/13 と Amazon Linux 2/2023 のみを対象とします。Ubuntu、Red Hat Enterprise Linux、CloudLinux は検出のみを行います。CloudLinux の公式修正パッケージは公開済みですが、段階的配信とサブスクリプション資格に関わるため、本ツールは正確なバージョンとチャネルのみを提示します。その他のディストリビューションは識別と情報出力のみを行い、インストールフローには進みません。具体的なステータスはディストリビューションサポートマトリクスを参照してください。
現在のバージョンは v1.3.0 で、変更履歴は CHANGELOG.md を参照してください。
| 項目 | 内容 |
|---|---|
| 番号 | CVE-2026-98432 |
| コンポーネント | Linux カーネル IPv4 サブシステム(tcp_v4_syn_recv_sock、tcp_v4_reqsk_destructor) |
| 種類 | 解放後使用(use-after-free) |
| トリガー条件 | 再送された TCP SYN を並行処理する際、または tcp_migrate_req を有効にした要求ソケット移行時に、inet_opt と ireq_opt が RCU グレースピリオド終了前に解放される可能性がある |
| 影響 | カーネルメモリ破壊により、サービス拒否を引き起こす可能性がある。具体的な影響範囲と悪用条件は各ディストリビューションの公告に準拠する |
| アップストリーム修正 | ipv4: free inet_opt and ireq_opt after an RCU grace period、修正は 7.2.10、6.18.56、6.12.113、6.1.190 に取り込まれた(commit 26d4c36d318c) |
| 公開日 | 2026-10-15 |
各ディストリビューションが影響を受けるかどうか、修正バージョンは何かについては、そのディストリビューションの公式公告に準拠します。本ツールは他のディストリビューションの結論から推測せず、アップストリームのバージョン番号からディストリビューションの修正ステータスを推測せず、CVSS スコアや実際の攻撃複雑度を評価しません。
/etc/os-release の ID、VERSION_ID、VERSION_CODENAME を読み取り、ディストリビューション固有の情報(Oracle の UEK マーカー、Amazon Linux のバージョン番号など)を重ね合わせます。ID_LIKE によるアイデンティティの折りたたみは行わず、Ubuntu は Debian として扱われず、Rocky Linux、AlmaLinux、Oracle Linux は RHEL として扱われません。uname -m の結果を正規化し(x86_64 は amd64、aarch64 は arm64)、パッケージマネージャーが報告するアーキテクチャとクロスチェックします。不一致の場合は UNKNOWN と判定します。--report は検出結論と根拠を生成し、--list-distros はサポートマトリクスを出力します。kernel-lts の 2 つのストリームを含む)をサポートします。識別は Rocky Linux、AlmaLinux、Oracle Linux、Fedora、openSUSE Leap、SUSE Linux Enterprise、Arch Linux、Alpine Linux をサポートします。ディストリビューションのバージョンが適応範囲外の場合は UNSUPPORTED を返します。--list-distros のみ一般ユーザーで実行できます。awk、sed、grep、tar、find。ディストリビューション対応のパッケージ管理ツール(dpkg/apt-get/apt-cache、rpm/dnf/yum、apk、pacman、zypper)。ブートストラップインストーラーには追加で curl と sha256sum(または shasum)が必要です。curl -fsSL https://raw.githubusercontent.com/AronWang001/linux-cve-2026-98432-fix/v1.3.0/install.sh | sudo bash
install.sh はブートストラップインストーラーであり、それ自体はシステムを変更しません。対応する Tag のソースアーカイブを一時ディレクトリにダウンロードし、展開後に Release から SHA256SUMS を読み取り、fix.sh、install.sh、lib/*.sh、adapters/*.sh、data/*.yml を1つずつ検証します。すべて合格した後にのみ、同じ引数で fix.sh を実行します。検出完了後に修復計画を表示し、Y を入力して確認した場合にのみカーネルをインストールします。確認プロンプトは /dev/tty から読み取るため、パイプ経由の実行でも正常に対話できます。sudo がパスワードを要求する場合があります。
検証は fail closed で処理されます。SHA256SUMS が欠落または空、マニフェストがすべてのスクリプトを網羅していない、いずれかのファイルのハッシュが一致しない、アーカイブに絶対パスまたは .. が含まれる、システムに sha256sum と shasum が欠落している、のいずれかの場合は展開後または実行前に終了し、ツールのコードは一切実行されません。SHA256SUMS とソースパッケージは同一リポジトリ由来であり、独立したデジタル署名を持たないため、署名検証と同等ではありません。本番環境で使用する前に、スクリプトをダウンロードして自らレビューすることを引き続き推奨します。
curl -fsSL https://raw.githubusercontent.com/AronWang001/linux-cve-2026-98432-fix/v1.3.0/install.sh | sudo bash -s -- --check
システム状態のみを読み取り、パッケージインデックスの更新、ソフトウェアパッケージのインストール、設定の変更は行いません。--check は検出と修復の段階を制約するものであり、install.sh 自体のダウンロード動作には影響しません。ローカルパッケージインデックスが空の場合、候補バージョンは不明として表示されるため、事前に apt-get update または dnf makecache を自身で実行する必要があります。
curl -fsSL https://raw.githubusercontent.com/AronWang001/linux-cve-2026-98432-fix/v1.3.0/install.sh | sudo bash -s -- --yes
--yes は確認プロンプトのみをスキップし、ディストリビューションのホワイトリスト、公告の検証、バージョンチェックはスキップしません。ホワイトリストにないディストリビューションは --yes を指定してもインストールプロセスに進みません。
curl -fsSLO https://raw.githubusercontent.com/AronWang001/linux-cve-2026-98432-fix/v1.3.0/install.sh
less install.sh
sudo bash install.sh --check
sudo bash install.sh
fix.sh は同じディレクトリにある lib/、adapters/、data/ に依存しているため、単体でダウンロードして使用することはできません:
git clone --branch v1.3.0 --depth 1 https://github.com/AronWang001/linux-cve-2026-98432-fix.git
cd linux-cve-2026-98432-fix
sudo bash fix.sh --check
sudo bash fix.sh
SHA256SUMS は fix.sh、install.sh、lib/、adapters/、data/ 内のすべてのスクリプトとデータファイルを対象としており、ソースアーカイブと合わせて検証する必要があります:
mkdir -p /tmp/cve-verify && cd /tmp/cve-verify
base=https://github.com/AronWang001/linux-cve-2026-98432-fix/releases/download/v1.3.0
curl -fsSLO "${base}/SHA256SUMS"
curl -fsSL -o src.tar.gz https://github.com/AronWang001/linux-cve-2026-98432-fix/archive/refs/tags/v1.3.0.tar.gz
tar -xzf src.tar.gz
cd linux-cve-2026-98432-fix-1.3.0
sha256sum -c ../SHA256SUMS
各レコードは OK を出力する必要があります。アーカイブのディレクトリ名はリポジトリ名によって変わり、解凍後のディレクトリが異なる場合は実際のディレクトリを基準にします。システムに sha256sum がない場合は shasum -a 256 -c ../SHA256SUMS を使用できます。
| パラメータ | 説明 |
|---|---|
-c, --check | 読み取り専用検査:インデックスを更新せず、ソフトウェアパッケージをインストールせず、システムを変更しない |
-y, --yes | 対話確認をスキップする。ホワイトリスト、公告の検証、バージョン検証を回避することはできない |
--list-distros | サポートマトリクスを出力:検出サポート、自動修復サポート、公式パッチ状況、検証日。root は不要 |
--report [ファイル] | 検出レポートを生成し、デフォルトでカレントディレクトリの cve-2026-98432-report-<タイムスタンプ>.txt に書き込む。レポートにはパスワード、トークン、秘密鍵を含まない |
--no-color | カラー出力を無効化。ログ収集に適している |
--allow-staged-rollout | CloudLinux のみ:公式の段階的ロールアウトバイパス cloudlinux-rollout-3-bypass のリスクを認識していることを示す。このリポジトリはデフォルトで有効化されず、repo ファイルにも書き込まれない。本バージョンの CloudLinux は検出のみで、指定してもインストールは行わない |
-h, --help | ヘルプを表示 |
-V, --version | バージョン情報を表示 |
| 状態 | 意味 | 終了コード |
|---|---|---|
FIXED | 現在実行中のカーネルが公式修正バージョンに達している | 0 |
PENDING_REBOOT | 修正カーネルはインストール済みだが、旧カーネルで実行中 | 3 |
VULNERABLE_PATCH_AVAILABLE | 公式修正パッケージが利用可能だが、実行中のカーネルは依然として影響を受ける | 2 |
PATCH_NOT_RELEASED | 公式が確認可能な修正パッケージをまだリリースしておらず、状態のみ出力しインストールしない | 6 |
PATCH_TESTING_ONLY | 公式が testing リポジトリでのみ修正パッケージを提供しており、本番リポジトリでは未リリースのためインストールしない | 7 |
NOT_AFFECTED | 公式がこのカーネルブランチに脆弱性コードが含まれないと説明しており、操作不要 | 8 |
UNKNOWN | 公告、カーネルソース、パッケージマッピング、またはバージョンを確認できない | 4 |
UNSUPPORTED | システム、バージョン、アーキテクチャ、またはカーネル flavor がサポート対象外 | 1 |
| ユーザーによるキャンセル | 確認段階で y 以外が入力され、システムは変更されていない | 5 |
| 実行エラー | 依存関係の不足、非 root、引数エラー、インストールまたは検証の失敗 | 1 |
インストールフローに進むのは、状態が VULNERABLE_PATCH_AVAILABLE であり、適応層が自動修復を許可し、ベースラインレコードが autofix: yes である場合のみです。終了コード 1 はサポート対象外の環境と実行時エラーの両方に使用され、区別は出力中の判定結果に基づきます。
カーネルのインストール完了後も、実行中のカーネルは旧カーネルのままであるため、再起動を手配する必要があります:
sudo reboot
再起動後に --check を再実行し、FIXED と判定されて初めて修正完了となります。依然として PENDING_REBOOT と表示される場合、または古いカーネルが動作し続けている場合は、ブートローダーのデフォルト起動項目、grubenv、クラウドベンダーの起動設定を確認してください。
ベースライン検証日は 2026-11-02 です。データは各ディストリビューションの公式アナウンスとセキュリティトラッカーに由来し、人手で照合した上で data/cve-2026-98432.yml に書き込まれており、リアルタイムのオンライン同期ではありません。sudo bash fix.sh --list-distros を実行するとツール内蔵の現在の状態を確認できます。一般ユーザーが直接 bash fix.sh --list-distros を実行しても構いません。