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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
linux-tcp-uaf-cve-2026-98432 — CVE-2026-98432(Linux IPv4 TCP inet_opt UAF):読み取り専用の診断スクリプト、再起動不要のnftables/sysctl緩和策、Ansibleによる展開と対応ガイド(EN/KO) | Kitploit
ツール/GitHubGitHub/johnhsb/linux-tcp-uaf-cve-2026-98432
防御ツール脆弱性分析スクリプトと自動化構成監査ネットワークセキュリティDevSecOps設定ミス学習と教育インシデントレスポンス

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
GitHubjohnhsb/linux-tcp-uaf-cve-2026-98432

linux-tcp-uaf-cve-2026-98432

CVE-2026-98432(Linux IPv4 TCP inet_opt UAF):読み取り専用の診断スクリプト、再起動不要のnftables/sysctl緩和策、Ansibleによる展開と対応ガイド(EN/KO)

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

linux-tcp-uaf-cve-2026-98432

CVE-2026-98432 対応キット — Linux カーネルが TCP 接続を確立する際に使用するコードに存在するメモリ安全性のバグです。以下の3つが含まれています:

  • 診断スクリプト — サーバーが脆弱かどうか、またその緊急度を判定します。システムには一切変更を加えません。
  • 一時的な緩和策 — ファイアウォールルール(デフォルトでインストールされている iptables、または iptables が存在しない場合は nftables を使用)、カーネル設定(sysctl)ファイル、Ansible プレイブック。いずれも再起動なしで適用できます。デフォルトモードではパケットをカウントするだけです。
  • 対応ガイド — バグの仕組み、ディストリビューションごとのパッチ状況、検証方法、各緩和策のトレードオフ → cve-2026-98432-guide.en.md

🇰🇷 한국어

2026-11-03 時点の内容です。 ここに記載する緩和策はすべて一時的なものであり、カーネルの修正を置き換えるものではありません。 カーネルの更新と再起動(またはライブパッチ)は別途スケジュールしてください。

READMEガイド診断スクリプト
🇺🇸 英語(デフォルト)README.mdcve-2026-98432-guide.en.mdcheck_cve_2026_98432.sh
🇰🇷 한국어README.ko.mdcve-2026-98432-guide.ko.mdcheck_cve_2026_98432_ko.sh

概要

  • ネットワーク上の誰でも、TCP 接続要求を送るだけでサーバーをクラッシュさせることが可能です — ログインは不要です — さらに特定の条件下ではリモートからの root 権限奪取が報告されています。
  • Linux 4.4 以降を実行しているほぼすべてのサーバーが影響を受けます。IPv6 接続は影響を受けません。
  • 根本的な修正はパッチ適用済みカーネルと再起動です。RHEL、Debian、Amazon Linux などは修正済みカーネルをリリース済みです。Ubuntu はまだ準備中です(2. 現状を参照)。
  • パッチを適用できるようになるまでの間、IPv4 オプションを含む TCP パケットをドロップするファイアウォールルールが最も効果的な一時的対策です。デフォルトでインストールされている iptables を使用し、再起動は不要です。安全のため、まずはカウントのみから開始し、正当なトラフィックに影響がないことを確認してからドロップに切り替えてください。

1. このバグとは?

TCP 接続要求の IP ヘッダーには、まれに IPv4 オプションと呼ばれる追加フィールドが含まれることがあります。カーネルは接続確立中、これらのオプションをメモリ上に保持します。クリーンアップの際、別の CPU コアがまだそのメモリを読み取っている可能性があるにもかかわらず、そのメモリを即座に解放してしまいました。

解放された後のメモリを使用することを**use-after-free(UAF)**と呼びます。その間に別のデータがその領域に配置されていると、カーネルは誤ったデータを読み取り、以下のような事態につながる可能性があります:

  • サーバークラッシュ(カーネルパニック、DoS) — 通常の TCP サービスが開いているだけで発生する可能性があります。
  • root 権限でのリモートコード実行 — 2026-10-27、Anthropic の Frontier Red Team は、MPTCP リスナーを持つサーバー上で認証なしに root コマンドを実行するエクスプロイトを構築したと発表しました(下記の用語集を参照)。カーネルアドレスのリークには約48分、コマンド実行にはさらに約5分を要しました。コードは公開されていません。
項目詳細
影響範囲Linux 4.4 以降、各ブランチの修正バージョンより前。IPv6 は影響を受けません
深刻度Kernel CNA、Red Hat、Ubuntu による CVSS 9.8(Critical)。SUSE、Amazon、Oracle は 8.1 と評価しています。CPU 間のタイミング競合に勝つことが困難なためです
根本原因カーネルの安全な解放期間(RCU grace period)を待たずにメモリを解放していました。アップストリームの修正:コミット e3f33b0a1d89(kfree → kfree_rcu)
修正済みカーネルバージョン5.10.272、5.15.223、6.1.190、6.6.159、6.12.113、6.18.56、7.2.10、7.3 以降 — ディストリビューションのカーネルについては、バージョン番号ではなく修正が含まれているかどうかを確認してください

2. 現状

悪用状況: 2026-11-03 時点で CISA KEV(悪用が確認されている脆弱性のカタログ)には登録されておらず、実世界での攻撃も報告されていません。多くの GitHub リポジトリが「PoC」を自称していますが、検証されたものはありません — 本番ネットワークで実行しないでください。

ディストリビューション別の修正済みカーネル(バージョンと出典はガイド §2.2を参照)

ディストリビューションステータス
RHEL 8 / 9 / 10✅ 修正済みカーネルを 2026-11-01 にリリース(RHSA-2026:93414 / 93412 / 93413)。OpenShift(RHCOS)ノードは未修正
Debian 12 / 13✅ 修正済み(DSA-6568-1、DLA-4841-1、DLA-4850-1)
Amazon Linux 2 / 2023✅ 修正済み。EKS/ECS 最適化 AMI、Fargate、Bottlerocket は順次展開中
Rocky Linux(CIQ RLC Pro / LTS)✅ CIQ がサポートするすべてのバリアントで修正済み。コミュニティ版 Rocky については Rocky Errata を確認してください
Ubuntu 22.04 / 24.04 / 26.04 / 26.10⏳ 対応中(2026-11-03 時点で「作業中」)
Ubuntu 16.04 / 18.04 / 20.04⏳ 標準サポートは終了 — 修正は Ubuntu Pro(ESM)購読者向けのみとなる見込み
SUSE、Oracle Linux、AlmaLinux など修正が報告されています — 各ベンダーのアドバイザリを確認してください

3. 自分のサーバーは危険か?

4. 今すぐ行うべきことにある診断スクリプトが正確な判定を出します。おおよその目安は次のとおりです:

攻撃が成立するには、① サーバーに少なくとも 2 つの CPU コアが必要で(2 つのコアが同時に同じメモリにアクセスする必要があります)、② 攻撃者のパケットがIPv4 オプションを保持したままサーバーに到達する必要があります。

#サーバーの状況リスク対応
1内部 VPC または Kubernetes ノード上で、マルチコアかつ MPTCP リスナーあり(コンテナ内を含む)🔴 リモートからの root 取得ファイアウォールルールと sysctl を今すぐ適用し、ノードのカーネルにパッチを適用する。一部の Kubernetes ネットワーク(eBPF ベースの CNI)はホストのファイアウォールをバイパスするため、パッチ適用を優先する
2パブリック IP 上、または L4 ロードバランサー(AWS NLB など)の背後で、MPTCP リスナーあり🔴 リモートからの root 取得ファイアウォールルールと sysctl を今すぐ適用する
3マルチコアで、通常の TCP サービスのみ🟠 リモートからのクラッシュファイアウォールルールを適用する(sysctl だけでは不十分)
4シングル CPU(1 vCPU)🟡 成功する可能性は極めて低い通常のパッチサイクルに含める
5L7 プロキシ経由でのみ到達可能(AWS ALB、CloudFront、Cloudflare など)で、内部アクセスが制御されている🟡 攻撃パケットが到達しない内部の攻撃者に備えてパッチを適用する

⚠️ 「MPTCP リスナーがないから安全」と結論づけないでください。 Red Hat は MPTCP リスナーの確認は「安心材料ではなく情報提供」だと述べています。MPTCP がなくてもクラッシュは起こり得るうえ、MPTCP を必要としない別の悪用手法も排除できません。また、RHEL 8 系カーネルでは ss -M が MPTCP リスナーを通常の TCP として表示することがあります。

💡 L4 と L7 の違い: L7 プロキシはクライアントの TCP 接続を終端し、サーバーへの新しい接続を張り直すため、攻撃者の IPv4 オプションがサーバーに届くことはありません。L4 ロードバランサー(AWS NLB の TCP リスナー、Global Accelerator、PrivateLink、VPC Lattice など)はパケットをそのまま通過させるため、サーバーを直接公開するのと同じになります。


4. 今すぐ行うべきこと

ステップ 1 — 診断

パッチ適用状況、緩和策、露出状況(コンテナを含む)をチェックし、リスクレベルを提示する読み取り専用スクリプトです。

sudo bash check_cve_2026_98432.sh

判定の根拠を確認するには:

sudo bash check_cve_2026_98432.sh --verbose
  • 終了コード: 0 パッチ適用済みまたは緩和済み · 10 対応が必要 · 1 エラー · 2 無効なオプション
  • ディストリビューションのカーネルは uname -r のバージョン番号では判定されません。ディストリビューションはバージョンを維持したまま修正を古いカーネルにコピーする(バックポート)ことが多いため、スクリプトはこの CVE がカーネルパッケージの changelog または livepatch リストに記録されているかどうかを確認します。
  • デフォルトではオフラインで動作します。ローカルの changelog ファイルがない Debian/Ubuntu では、--online を指定すると apt changelog に問い合わせます。
  • --no-netns はコンテナのネットワークチェックをスキップします。

ステップ 2 — まずカウントし、確認してからブロックする(再起動不要)

これはほとんどのサーバーにすでに導入されている iptables を使用するため、新たにインストールするものはありません。drop ルールは予期しない正当なトラフィックをブロックする可能性があるため、デフォルトはカウントのみ(監視)モードです。ドロップは drop を指定した場合にのみ実行されます。

① カウントのみ(デフォルト)。 IPv4 オプションを含む TCP パケットをドロップせずにカウントします。

sudo bash mitigation/cve-2026-98432-iptables.sh apply

営業時間中(理想的には数日間)監視してから、カウンターを確認してください。packets が 0 でない場合は、まずそのトラフィックがどこから来ているのかを突き止めてください。

sudo bash mitigation/cve-2026-98432-iptables.sh status

② 正規のトラフィックが存在しない場合は、drop に切り替える(まずは少数のホストで)。同じルールを置き換えるため、重複は発生しない。

sudo bash mitigation/cve-2026-98432-iptables.sh apply drop

⚠️ ステップ①は何もブロックしないため、サーバーは依然として露出したままです。カウンターを確認したら、ステップ②への移行をスケジュールしてください。🔴 高リスクのサーバー(MPTCP リスナー、または L4 経由で直接露出している場合)では、カウント期間を短く保つこと(数時間程度)を検討してください。

③ 再起動をまたいで維持する。 モードは /etc/default/cve-2026-98432 の MODE(monitor または drop)から取得されます。

sudo install -m 0755 mitigation/cve-2026-98432-iptables.sh /usr/local/sbin/cve-2026-98432-iptables
sudo install -m 0644 mitigation/cve-2026-98432-iptables.service /etc/systemd/system/
echo MODE=monitor | sudo tee /etc/default/cve-2026-98432
sudo systemctl daemon-reload && sudo systemctl enable --now cve-2026-98432-iptables.service

モードを切り替えるには、そのファイル内の MODE を編集し、sudo systemctl restart cve-2026-98432-iptables.service を実行します。

このルールはTCP のみに適用されます。IGMP(マルチキャスト)など一部のプロトコルは IPv4 オプションを正当に使用しており、オプション付きのすべてのパケットをブロックするとマルチキャストが壊れる可能性があります。

iptables を持たないホスト(Amazon Linux 2023 など)では、nft で同じルールを適用できます。カウントには cve-2026-98432-monitor.nft、ドロップには cve-2026-98432.nft を使用します(ガイド §3.1.2)。

sudo nft -f mitigation/cve-2026-98432-monitor.nft

④ カーネル設定(sysctl)で攻撃条件を軽減する。 MPTCP を無効化し(net.mptcp.enabled=0)、接続要求のマイグレーションを無効化します(net.ipv4.tcp_migrate_req=0)。

sudo install -m 0644 mitigation/99-mitigate-cve-2026-98432.conf /etc/sysctl.d/ && sudo sysctl --system
ツールをダウンロード