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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
cve-2026-98432-nft-mitigation — Linuxカーネル CVE-2026-98432(tcp_v4_syn_recv_sock における IPv4 オプションの UAF)に対する暫定的な nftables 緩和策を、再現可能なエージェントスキルとして提供 | Kitploit
ツール/GitHubGitHub/nfodor/cve-2026-98432-nft-mitigation
防御ツールコンテナセキュリティ脆弱性分析構成監査ネットワークセキュリティ設定ミスインシデントレスポンス
GitHubnfodor/cve-2026-98432-nft-mitigation

人気

すべて見る →

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

すべてのツールを探索

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

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

cve-2026-98432-nft-mitigation

Linuxカーネル CVE-2026-98432(tcp_v4_syn_recv_sock における IPv4 オプションの UAF)に対する暫定的な nftables 緩和策を、再現可能なエージェントスキルとして提供

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

CVE-2026-98432 nft 緩和策

Linux カーネル CVE-2026-98432(CVSS 9.8)に対する暫定的なホスト緩和策を適用し、検証し、永続化し、後で削除するエージェントスキル:IPv4 オプションを含む TCP パケットをドロップする単一の nftables ルール — これは tcp_v4_syn_recv_sock() における inet_opt/ireq_opt の use-after-free に到達する唯一の入力である。

知っておくべき背景:Anthropic の Frontier Red Team は、MPTCP リスナーを公開しているサーバーに対する、認証不要で root 権限を取得できる実証済みの PoC を公表した(2026年10月)。実際の悪用は報告されていない。カーネル CNA は 9.8 と採点し、アップストリームと Red Hat は 8.1(攻撃複雑度:高)と採点している。ベンダーの修正は Ubuntu カーネル 6.8.0-149 クラスのバックポートである — 実行中のカーネルが修正を搭載するまでの間、このルールが暫定措置となる。これは 1 プロトコルの 1 ヘッダーの 1 フィールドに限定されているため、通常のトラフィックには影響しない。

このルールは目新しいものではない — パッケージ化された先行技術として扱うこと。 下記の「先行技術」を参照。このリポジトリの貢献は、再現可能なエージェントスキルの形と、本番環境での落とし穴である。

目次

パス内容
SKILL.mdスキル本体 — frontmatter トリガー、ルールセット、チェック、永続化、落とし穴、削除
files/cve98432.nftコピー可能な nftables ルールセット(prerouting、優先度 −300)
files/nft-cve98432.serviceコピー可能な systemd ユニット(永続化)

インストール(エージェントスキル)

cp -R cve-2026-98432-nft-mitigation ~/.claude/skills/     # Claude Code
cp -R cve-2026-98432-nft-mitigation ~/.agents/skills/     # agents-style runtimes

description フロントマターは発見のための表面です。エージェントは、CVE-2026-98432、いわゆる「TCP/IP 修正」、カーネルの IPv4 オプション UAF の緩和を求められたとき、またはベンダーカーネルの出荷後に緩和策を削除するよう求められたときに、このスキルを選択します。

適用前の3つの確認事項

  1. 実行中のカーネルはすでに修正済みか? バックポートはバージョン番号を変えるため、実際に実行しているカーネルの changelog を確認してください:
    zgrep -c CVE-2026-98432 /usr/share/doc/linux-modules-$(uname -r)/changelog.Debian.gz   # Debian/Ubuntu
    rpm -q --changelog kernel-core-$(uname -r) | grep -c CVE-2026-98432                     # RHEL/Rocky/Alma
    
    > 0 = 修正済み、緩和策をスキップします。(ベンダーのトラッカーも確認してください。また、 インストール済みだが起動していない新しいカーネルについては apt-cache policy linux-image-generic を確認してください。)
  2. MPTCP リスナー(ss -lnMp):公開された PoC はこれらを標的にしており、Go ≥ 1.24 は それを許可するカーネル上でデフォルトで MPTCP を用いてリッスンします。sysctl net.mptcp.enabled=0 は 新規 ソケットにのみ影響します — すでに開いているリスナーは、そのサービスが再起動するまで MPTCP を使い続けます(Go チームによれば GODEBUG=multipathtcp=0)。
  3. CIPSO ラベル付きネットワーク: cat /sys/kernel/security/lsm が SELinux または Smack を リストしており、かつ NetLabel CIPSOV4 マッピングを使用している場合、そこでは IPv4 オプションは 正当なものです — このルールはその経路を壊してしまいます。CIPSO ラベル付きネットワークには 適用しないでください(RFC 7126 はこのトレードオフについて論じています)。

使用方法(root 権限が必要)

  1. files/cve98432.nft と files/nft-cve98432.service をインストールします。
  2. nft -c -f /usr/local/sbin/cve98432.nft — パースチェック。root 権限が必要です(非 root では netlink で失敗します:cache initialization failed)。
  3. systemctl daemon-reload && systemctl enable --now nft-cve98432.service
  4. ユニットを 2 回再起動 — 冪等性の証明。destroy table … の行はファイルの 最初の 行でなければなりません:末尾に追加すると、テーブルを作成してから破棄するため、 サービスが 0 で終了するにもかかわらず空のルールセットが残ります。
  5. nft list table inet cve98432 は、priority -300 のチェーン上で meta l4proto tcp ip hdrlength > 5 counter drop を表示しなければなりません (conntrack より前、公開されたルールと一致)。
  6. 共存:カスタムの table inet … は iptables が所有していないため、iptables-restore / ufw / firewalld のツールはそれをそのまま残します(restore を一度実行し、再度リストして確認してください)。

修正済みカーネルをインストールして再起動した後の削除:SKILL.md のセクション 7。

コンテナ:ルールはその netns にも存在しなければならない

nftables の状態は ネットワーク名前空間ごと です。ホストのルールは、コンテナのトラフィックが ホストを通過する 場所(例:コンテナ → 外部)でのみそれを認識します。コンテナ自身の 名前空間内にとどまるトラフィック(コンテナ → 自身のループバック/IP)は、ホストの prerouting を 決して通過しません — しかしカーネルは共有されているため、コンテナ内のコードは依然として ローカルで UAF に到達できます。同じルールセットを実行中のすべてのコンテナに注入してください:

# Docker (host-side nsenter keeps the needed capabilities)
for c in $(docker ps -q); do
  pid=$(docker inspect -f '{{.State.Pid}}' "$c")
  nsenter -t "$pid" -n /usr/sbin/nft -f /usr/local/sbin/cve98432.nft
done
# LXC (privileged CLI as root)
for c in $(lxc-ls -1 2>/dev/null); do lxc-attach -n "$c" -- nft -f /usr/local/sbin/cve98432.nft; done

コンテナのネットワーク名前空間では nft ルールは永続化されません — コンテナが再起動するたびに再実行してください(オーケストレーターの起動後ステップにフックしてください)。この正確なギャップに関する先行事例とスクリプト:typhoon1217/cve-2026-98432-mitigation(inject-netns.sh)。

ドロップの検証(クライアント側)

標準ソケットで十分です — サーバー側でのパケット生成は不要です:クライアントが setsockopt(IP_OPTIONS) 経由で IPv4 Record Route オプションを設定して接続します。通常の接続は成功し、オプション付き接続はルールのカウンターが増加しながらタイムアウトする必要があります。既製のクライアント:typhoon1217/cve-2026-98432-mitigation の check-blocked.py / verify-synack.sh。そのプロジェクトからの注意点:自身が緩和策を実行しているクライアントは、ターゲットの SYN-ACK エコーもドロップします — クリーンな判定を得るには、緩和策を適用していないクライアントからテストしてください。

このルールの理由

  • UAF は、IPv4 ヘッダーにオプションが含まれる(IHL > 5)TCP セグメントを通じてのみ到達可能です。RFC 7126 はすでにルーター/ファイアウォールが Record Route/Timestamp オプションをドロップすることを推奨しているため、これによって実害は生じません。
  • prerouting を priority -300 で:conntrack より前なので、ドロップされたパケットが conntrack ステートを作成することはありません — また、input と異なり、ホストを通過してコンテナ/VM に転送されるトラフィックもカバーします。
  • マッチのセマンティクスは自己検証的です:nft は生の @nh,4,4 > 5 を ip hdrlength > 5 に正規化します — これは IHL フィールドであり、ツール自体によって確認されています。

先行事例(これらを参照)

  • RFC 7126 — IPv4 オプションを含む IPv4 パケットのフィルタリング
  • typhoon1217/cve-2026-98432-mitigation — 同じドロップルール + コンテナ netns インジェクション、CIPSO の注意点、検証クライアント(EN/KO)
  • getrff.com ブログ(2026年10月29日)— 同じルールを priority −300 で、MPTCP チェック、フリートスクリプティング
  • CVE-2026-98432 に関する Atlas の解説 — トリガーオプション + ルール
  • CIQ KB — 「Mitigating CVE-2026-98432 on Rocky Linux」(検証済みのファイアウォールルール手順)
  • Red Hat RHSB-2026-016、Ubuntu CVE トラッカー、NVD

由来

本番デプロイから抽出したもので、そこで発生した失敗も含みます:非 root での nft -c、末尾での destroy の順序バグ、クォートされていないヒアドキュメントが \$ を黙って消費する問題、二重適用のセマンティクス。ドキュメントのみのリポジトリ — ランタイム依存:nft ≥ 1.0 + systemd、テストスイートなし(n/a)。

ツールをダウンロード