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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
cve-2026-98432-mitigation — Debian/Ubuntu カーネルを CVE-2026-98432 について監査し、永続的な nftables および sysctl による緩和策を適用したうえで、カーネルのアップグレードとロールバックを案内します。 | Kitploit
ツール/GitHubGitHub/igreklg/cve-2026-98432-mitigation
防御ツール脆弱性分析スクリプトと自動化構成監査ネットワークセキュリティ設定ミスインシデントレスポンス
GitHubigreklg/cve-2026-98432-mitigation

cve-2026-98432-mitigation

Debian/Ubuntu カーネルを CVE-2026-98432 について監査し、永続的な nftables および sysctl による緩和策を適用したうえで、カーネルのアップグレードとロールバックを案内します。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-98432: Debian / Ubuntu 向けの監査と一時的防御

このスクリプトは、カーネルが CVE-2026-98432(IPv4 TCP 処理における use-after-free、CVSS 9.8)で修正済みかどうかを確認します。カーネルが未修正の場合、直ちに一時的防御を有効化し、カーネル更新のインストールを支援します。

この防御はリスクを低減しますが、脆弱性を排除するものではありません。 完全な解決策はただ一つ、修正済みカーネルをインストールして再起動することです。Red Hat の評価によると、IP オプション付きパケットのフィルタリングによって悪用を完全に防ぐことはできません。

脆弱性について

  • エラーの箇所。 TCP 接続の確立時に tcp_v4_syn_recv_sock() が ireq_opt をコピーせずに子ソケットへ渡し、inet_sock_destruct() が通常の kfree() でそれを解放します。その時点で別の CPU コア上で処理されている再送 SYN が、ip_options_build() 内で既に解放されたメモリにアクセスします。
  • 攻撃可能な者。 開いている TCP ポートに到達できる任意のノードが、認証なしで攻撃できます。攻撃には IPv4 Record Route または Timestamp オプション付きの SYN が必要です。
  • 2 つ目の脆弱な経路。 リスニングソケット間のリクエスト移行: net.ipv4.tcp_migrate_req=1 または BPF プログラム BPF_SK_REUSEPORT_SELECT_OR_MIGRATE。
  • MPTCP の役割。 公開されたエクスプロイトは MPTCP リスナーを攻撃します。Go 1.24+ のプログラムはデフォルトで MPTCP 経由でリッスンします。ただし、エラー自体は MPTCP に固有のものではありません。
  • 影響を受けるバージョン。 4.4 以降のカーネル。アップストリームでの修正: ipv4: free inet_opt and ireq_opt after an RCU grace period (e3f33b0a1d89)。
stable ブランチ修正済み
5.105.10.272
5.155.15.223
6.16.1.190
6.66.6.159
6.126.12.113
6.186.18.56
7.27.2.10
mainline7.3

2026 年 11 月 2 日時点の各ディストリビューションの状況:

  • Debian 12: linux 6.1.190-1 (DLA-4841-1) および linux-6.12 6.12.113-1~deb12u1 (DLA-4850-1) で修正済み。
  • Debian 13: linux 6.12.113-1 (DSA-6568-1) で修正済み。
  • Ubuntu 22.04、24.04 以降: 修正はまだリリースされていません。Ubuntu 16.04–20.04: 脆弱と記載されており、修正はありません。

スクリプトの動作

  1. 監査。 実行中のカーネルと、インストールされている各カーネルが修正済みかどうかを判定します(「修正済みかどうかの判定方法」の節を参照)。
  2. カーネルが未修正の場合の保護。 最初のステップとして有効化されます。ネットワークなし、確認なし、apt へのアクセスより前に行われます。
    • prerouting フックで raw(−300)の優先度、つまりカーネルがオプションを解析する前に、IP オプション付き(IHL > 5)の受信 IPv4 TCP パケットを破棄します。nftables を使用し、利用できない場合は u32 モジュールを備えた iptables を使用します。
    • net.mptcp.enabled = 0 を設定します。すでに開かれている MPTCP ソケットは MPTCP のまま残るため、スクリプトはそれらを列挙し、該当するサービスを再起動できるようにします。
    • 値が 1 だった場合、net.ipv4.tcp_migrate_req = 0 を設定します。
    • 保護を永続化します。systemd ユニット、nftables / netfilter-persistent / firewalld の再起動後の再適用、および 5 分ごとのタイマーによるチェックを行います。
  3. カーネルの更新。 更新を検索し、メタパッケージではなく特定の新しいカーネルに修正が含まれているかを確認します。その後インストールを提案し、デフォルトは「はい」です。修正が確認されない場合でもカーネル更新を推奨します。他の脆弱性を塞ぐためです。
  4. 結果。 システムから再読み取りした実際の状態を出力し、明確な終了コードで終了します。

実行中のカーネルがすでに修正済みの場合、スクリプトは何も変更せず、以前に有効化した保護を解除する方法を案内します。

要件

  • Debian 11/12/13、Ubuntu 20.04/22.04/24.04 およびその派生版。Ubuntu Pro なしの Debian 11 と Ubuntu 20.04 はもはやカーネル修正を受け取りません。これらの環境ではスクリプトは保護を有効化しますが、更新は見つかりません。
  • root 権限。
  • nftables(推奨)または iptables。永続的な保護には systemd が必要です。

使用方法

git clone https://github.com/IgrekLg/cve-2026-98432-mitigation.git
cd cve-2026-98432-mitigation
sudo bash mitigate-cve-2026-98432.sh            # аудит, защита, предложение обновить ядро
sudo bash mitigate-cve-2026-98432.sh --status   # только посмотреть, ничего не меняя
キー動作
--status状態のみ表示
--uninstall保護を解除し、sysctl の元の値に戻す(カーネルが修正されていない場合は確認を求める)
-y, --yes確認なし:カーネル更新をインストールし、--uninstall を確認
--no-upgradeapt にアクセスしない:監査と保護のみ
--forceカーネルがすでに修正されていても保護を有効化
--keep-mptcpMPTCP を無効化しない
--keep-tcp-migratenet.ipv4.tcp_migrate_req に触れない

ターミナルがない場合(Ansible、cron、-t なしの ssh)で --yes が指定されていない場合でも、保護は有効化され、カーネルのインストールはヒントを表示してスキップされます。

戻り値

コード意味
0実行中のカーネルは修正済み、または影響なし
3カーネルは未修正、保護は有効:更新と再起動が必要
4カーネルは未修正、保護は無効
1エラー
2不正な引数

Ansible の例:

- name: CVE-2026-98432 mitigation
  ansible.builtin.script: mitigate-cve-2026-98432.sh --yes
  register: cve
  failed_when: cve.rc not in [0, 3]
  changed_when: false

カーネルが修正済みかどうかの判定方法

チェックは順番に実行されます:

  1. カーネルパッケージの changelog。 そこに CVE-2026-98432 または修正コミットのタイトルが記載されていれば、カーネルは修正済みです。
  2. Debian およびその派生で、バージョンが 6.1.190-1 のような形式の場合。 バージョンのアップストリーム部分を上記の表と比較します。Debian は stable アップデートを通じて修正を受け取りますが、changelog に CVE 番号が必ずしも記載されるわけではありません。
  3. Ubuntu。 バージョン番号(5.15.0-NNN)は stable ブランチを反映していないため、changelog によってのみカーネルが修正済みと判定されます。changelog がない場合、ステータスは「修正は未確認」となり、保護が有効化されます。さらに pro fix CVE-2026-98432 --dry-run が出力されます。
  4. パッケージ由来でないカーネル(mainline または独自ビルド):uname -r のバージョンを比較します。候補カーネル(-rc)は不明として扱われます。

修正済みバージョンの表はスクリプトに埋め込まれています(FIXED_IN、データは 2026-11-02 時点)。独自カーネルを持つ派生ディストリビューション(Proxmox など)については、ベンダーの勧告を参照してください。

インストールされるもの

パス用途
/usr/local/sbin/cve-2026-98432-fwヘルパー:apply / ensure / remove / check
/etc/cve-2026-98432/mitigation.nftnftables ルール(テーブル ip cve_2026_98432)
/etc/systemd/system/cve-2026-98432-mitigation.service起動時にルールを適用、network-pre.target より前
/etc/systemd/system/cve-2026-98432-mitigation-check.{service,timer}5 分ごとにチェックし、ルールが誰かに削除されていた場合は復元(syslog に記録)
/etc/systemd/system/{nftables,netfilter-persistent,firewalld}.service.d/50-cve-2026-98432.confこれらのサービスによるルールの(再)読み込み後に再適用;インストール済みのものに対してのみ作成
/etc/sysctl.d/99-zz-cve-2026-98432.confsysctl;ファイル名は /etc/sysctl.conf の後に読み込まれるように選定
/var/lib/cve-2026-98432/sysctl.orig--uninstall 用の sysctl 元の値

スクリプトの前バージョンのファイル(mitigate-CVE-2026-98432.service、99-CVE-2026-98432.conf、および iptables ルールの重複)は自動的に削除されます。

副作用と制限事項

  • IP オプション付きパケット。 オプション付きの受信 IPv4 TCP パケットはすべて破棄されます。インターネット上ではこのようなパケットはほとんど見られませんが、CIPSO ラベル付きネットワーク(SELinux MLS、labeled networking)は動作しなくなります。そのようなホストではスクリプトを実行しないでください。MPTCP を手動で無効化し、カーネルを更新してください。
  • IPv4 のみ。 主要な IPv6 の脆弱性には影響しません。tcp_v6_syn_recv_sock() はオプションをコピーします。
  • BPF 経由のマイグレーション。 スクリプトは BPF_SK_REUSEPORT_SELECT_OR_MIGRATE プログラムを検出できません。手動で確認してください。
  • 保護のないウィンドウ。 systemctl stop nftables(またはサービス外での任意の nft flush ruleset)の後、ルールはすぐには戻らず、タイマーにより 5 分以内に戻ります。
  • Go サービス。 Go プログラムでは、追加で GODEBUG=multipathtcp=0 を設定できます。Go のセキュリティチームは、プログラムごとに MPTCP を無効化することを信頼できない対策と呼んでいます。

保護の解除

修正済みカーネルで再起動した後:

sudo bash mitigate-cve-2026-98432.sh --uninstall

テスト

# логика определения версий, без изменений в системе
bash tests/test-logic.sh

# фильтр в изолированном сетевом пространстве имён (хост не затрагивается):
# ожидается plain=ok options=blocked при включённом правиле
sudo unshare -n sh -c 'python3 tests/netns-probe.py up && nft -f /etc/cve-2026-98432/mitigation.nft && python3 tests/netns-probe.py probe'

情報源

  • CVE レコードのテキスト (Linux kernel CNA) および NVD
  • Debian Security Tracker
  • Ubuntu CVE
  • ディストリビューション別のステータスと防御策の概要
  • 攻撃条件と MPTCP の役割
  • AI Collaborator: Gemini (Google) — 開発の支援、セキュリティ監査、スクリプトの作成。
  • AI Collaborator: Claude (Anthropic) — キーの追加、リファクタリングを実施。
ツールをダウンロード