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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Paranoid-CVE-2026-98432 — IPヘッダーにオプションを含む受信IPv4 TCPパケットをドロップします。 | Kitploit
ツール/GitHubGitHub/scriptzteam/paranoid-cve-2026-98432
防御ツール脆弱性分析スクリプトと自動化構成監査ネットワークセキュリティ設定ミスインシデントレスポンス
GitHubscriptzteam/paranoid-cve-2026-98432

Paranoid-CVE-2026-98432

IPヘッダーにオプションを含む受信IPv4 TCPパケットをドロップします。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

Paranoid-CVE-2026-98432

IP ヘッダーにオプションを含む受信 IPv4 TCP パケットをドロップします。

CVE-2026-98432 に対する、小さく可逆な iptables の暫定対策です。

現在のネットワーク名前空間において、IP オプションを含む IPv4 TCP パケットをドロップします。 明確なステータス出力、繰り返し実行可能な適用/削除コマンド、読み取り専用の インベントリ、オプションの systemd サービス、および独立した接続チェックを含みます。

バージョン: 1.0.0 · レビュー日: 2026年10月30日 · 要件: Linux + Bash + iptables

これはコミュニティによるフィルタリングであり、カーネルの修正やベンダー認定の完全な 回避策ではありません。ルールが存在することは、エクスプロイト耐性を証明するものではありません。 ベンダーが修正したカーネルをインストールして起動するか、この CVE を明示的に カバーするサポート対象の livepatch を使用してください。

クイックスタート

ZIP を展開し、このディレクトリでターミナルを開いてから、次を実行します:

# Read-only inventory; no root required, although visibility may be limited.
bash paranoid-cve98432.sh audit

# Preview the firewall commands; no changes, no root required.
bash paranoid-cve98432.sh apply --dry-run

# Apply the two runtime rules.
sudo bash paranoid-cve98432.sh apply

# Check exact rules and packet counters.
sudo bash paranoid-cve98432.sh status

SSHセッションを開いたままにし、2つ目のSSH接続と通常のサービスが引き続き動作することを確認してください。IPv4 IPオプションを必要とするクライアントは影響を受ける可能性があります。

元に戻す:

sudo bash paranoid-cve98432.sh remove

このツールの正確なタグ付きルールのみが削除されます。他のファイアウォールルールおよびすべての sysctl設定は保持されます。以前に手動でインストールしたルール(会話中でタグなしで 作成したルールを含む)は削除も引き継ぎもされません。

要件

依存関係目的
Bashスクリプトの実行環境
IPv4 raw テーブル、u32 および comment マッチを備えた iptablesパケットフィルタリング
root および CAP_NET_ADMIN適用、ステータス確認、削除
flock、stat、mkdir/run 配下のプライベートディレクトリを使用した変更の直列化
iproute2 (ss)オプションのリスナー一覧
Python 3.8+オプションの検証ヘルパー
Python 3.9+オフラインテストスイート
systemdオプションの起動時永続化のみ

Ubuntu/Debian での一般的なパッケージ:

sudo apt install iptables util-linux iproute2 python3

RHEL 系のシステムでは、iptables コマンドを提供するパッケージがリリースによって異なります。dnf provides '*/iptables' で確認してください。このツールはパッケージのインストールや、選択されている iptables バックエンドの変更は行いません。

一部の iptables-nft インストールでは、現在の構成で u32 がサポートされていません。挿入に失敗した場合、ツールはエラーを報告し、追加した新しいルールをロールバックします。稼働中のサーバーでファイアウォールバックエンドを無闇に切り替えないでください。代わりに、既存のファイアウォールと統合されたネイティブの nftables 相当機能を使用してください。

インストールされる内容

以下の正確なルールを、識別用のコメント付きでインストールします:

iptables -w 10 -t raw -I PREROUTING 1 -p tcp \
  -m u32 --u32 '0>>24&0x0F=6:15' \
  -m comment --comment 'cve98432-guard:v1' -j DROP

iptables -w 10 -t raw -I OUTPUT 1 -p tcp \
  -m u32 --u32 '0>>24&0x0F=6:15' \
  -m comment --comment 'cve98432-guard:v1' -j DROP

IPv4ヘッダーの最初のバイトには、バージョンとInternet Header Length(IHL)が含まれています。32ビットワード5個は、通常の20バイトヘッダーです。IHLが6~15の場合、IPオプションが存在します。u32はそのフィールドを直接読み取ります。

  • PREROUTINGは、リスナーへの配信前に到着するIPv4 TCPトラフィックをフィルタリングします。
  • OUTPUTは、ローカルリスナーへの到達試行を含む、ローカルで生成されたトラフィックもフィルタリングします。また、IPオプションを含む送信応答をドロップする場合もあります。
  • ルールは、SYNパケットだけでなく、一致するすべてのIPv4 TCPパケットを検査します。断片化されている可能性のあるパケット内でTCPフラグを特定することに依存しません。
  • テーブルをフラッシュしたり、デフォルトポリシーを変更したり、ポートを変更したり、IPアドレスをブロックしたり、IPv6を無効化したり、SACK、タイムスタンプ、ウィンドウスケーリングなどの通常のTCPオプションを変更したりしません。

これらはIPv4 IPオプションであり、TCPオプションとは異なるヘッダーフィールドです。IPオプションを持たない通常のSSH、HTTPS、その他のトラフィックは一致対象外です。

2回適用してもコピーは追加されません。2回目の挿入が失敗した場合、その呼び出しで試行されたルールのみがロールバックされ、既存の完全一致ルールは保持されます。removeは、このツールの完全一致ルールの重複もクリーンアップします。このツールの同時呼び出しは直列化されます。ただし、無関係なファイアウォールマネージャーが同時にルールを変更する可能性はあります。

これが役立つ理由と、その限界

アップストリームのアドバイザリは、SYN-ACKの構築中またはリクエストの移行中に発生するIPv4リクエスト/ソケットオプションのuse-after-freeについて説明しています。修正は、2つのデストラクタを変更してRCU経由で解放を遅延させます。

IPオプション付きの受信パケットをフィルタリングすることで、通常パケットによって供給されるオプションが、これらのフックが対象とする経路上でTCPに到達するのを防ぎます。これがこの暫定対策の根拠です。これは分析に基づく緩和策であり、完全なエクスプロイトの再現でも、脆弱なコードへのあらゆる経路に対する保証でもありません。

以下の制限を確認してください。

状況制限 / 対応
コンテナ、ネットワーク名前空間、VPN名前空間ルールは名前空間ごとです。ホストのルールは、別の名前空間内に閉じたトラフィックをカバーしません。関連する各名前空間内で検査および適用してください。コンテナはホストカーネルを共有します。
Linuxブリッジ / レイヤー2フォワーディングこれらのIPv4ルールは完全なブリッジポリシーではありません。宛先名前空間がカバーされていることを確認してください。そのフォワーディング経路でフィルタリングが必要な場合は、ブリッジファミリーのルールを使用してください。
トンネルデコードされた内側のIPv4経路でフィルタリングを確認してください。暗号化された外側のパケットは、内側のIPオプションを外側のフィルターに公開しません。
SELinuxまたはSmackを使用するNetLabel / CIPSOCIPSOはカーネルのラベリング経路を通じてリクエストオプションを設定できます。イングレスヘッダーのフィルタリングをその経路のカバレッジと見なさないでください。SELinuxが有効になっているだけでは、CIPSOが設定されていることの証明にはなりません。
既存のソケットまたは保留中のリクエストフィルターの追加は、すでに作成されたカーネルオブジェクトのクリーンアップやパッチではありません。
ファイアウォールのリロードリロード、リストア、コンテナオーケストレーター、または管理者によってルールが削除または並べ替えられる可能性があります。ステータスを再確認し、再適用してください。
既存のrawテーブルの終端ルール新しいルールは位置1に配置されますが、その後のルール変更により終端ルールがそれらの前に配置される可能性があります。順序を検査してください。
IPオプションを必要とするクライアントその接続が機能しなくなる可能性があります。これには特殊なセキュリティラベリングのデプロイメントが含まれます。
IPv6これらのルールはIPv6をフィルタリングせず、別途追跡されるIPv6/CALIPSO移行の問題にも対処しません。

バージョン文字列、変更履歴の記載、リスナー出力が空であること、またはパケットカウンターがゼロであることに基づいて、カーネルにパッチが適用されていると自動的に主張することはありません。ベンダーカーネルは修正をバックポートしており、generic、cloud、HWEなどの個別のフレーバーを持っています。新しいカーネルがインストールされていても、それが実行中のカーネルであるとは限りません。

MPTCP: 有用な追加の堅牢化であり、修正ではない

Anthropicの10月27日のレポートは、MPTCPリスナーを持つサーバーに対するリモートrootエクスプロイトについて説明しています。基盤となるアドバイザリは、MPTCPに限定されないIPv4 TCPの競合状態について説明しています。両方の事実が重要です。

アプリケーションがMPTCPを必要としない場合、新しいMPTCPソケットを別途無効化できます。

# Record the current value before changing it.
sysctl net.mptcp.enabled
sudo sysctl -w net.mptcp.enabled=0

この設定はネットワーク名前空間ごとのもので、新しいソケットの作成を制御します。 このコマンドによって既存の MPTCP リスナーがプレーン TCP に変換されることはありません。 依存するサービスを特定し、必要に応じて意図的に再起動/再設定してください。 このツールはサービスを再起動しません。一部のアプリケーションは通常の TCP にフォールバックせず、失敗する可能性があります。

変更を永続化する場合は、通常の sysctl 設定を通じて net.mptcp.enabled = 0 の行を追加してください。後で復元できるよう、対象ファイルと 以前の実行時の値を記録しておいてください。ガードの remove コマンドは、 別途行われた sysctl の変更を元に戻しません。

net.ipv4.tcp_migrate_req=0 も同様に、1 つの移行メカニズムのみを制限します。 reuseport BPF 移行プログラムは別のメカニズムであり、主要な競合状態は 依然として残ります。どちらの sysctl もパッチ適用の代替にはなりません。

検証

サーバー上で:

sudo bash paranoid-cve98432.sh status

PRESENT は、タグ付けされたルールが正確にインストールされていることを意味します。pkts と bytes は、挿入以降の一致数を示します。カウントがゼロであることは、一致がカウントされていないことを意味するだけで、保護の有無や攻撃の不在を証明するものではありません。

IP オプションのフィルタリングを行わない別の Linux クライアントから、サーバー上の既知のオープンポートに対して:

python3 verify-filter.py SERVER_IPV4 22

ヘルパーは、プレーンな TCP 接続を 1 つと、Record Route IP オプション付きの接続を 1 つ行います。アプリケーションデータは送信せず、レースやエクスプロイトも実行しません。

結果解釈
プレーンは接続、オプションはタイムアウト経路上のどこかでフィルタリングされていることと整合します。タグ付きターゲットの DROP カウンタが増加することを確認してください。
両方とも接続この経路ではオプションが受け入れられています。これはカーネルにパッチが適用されているかどうかを立証するものではありません。
プレーンが失敗、オプションのセットアップが失敗、または接続が拒否される結論は出ません。ポート、ルーティング、ローカルのオプションサポート、ファイアウォールポリシーを確認してください。

クライアント自身のフィルタが、送信するプローブやオプション付きの応答をドロップする可能性があります。ルータも IP オプションをドロップする可能性があります。タイムアウトだけでは、サーバ側のルールが機能した証拠にはなりません。ヘルパーは意図的に、エクスプロイトによる立証を避けています。

オプションの再起動後の永続化

実行時の apply は再起動後には保持されません。付属の systemd ユニットは起動時にルールを再適用します。必要に応じて明示的にインストールしてください:

sudo install -m 0755 paranoid-cve98432.sh /usr/local/sbin/cve98432-guard
sudo install -m 0644 systemd/cve98432-guard.service \
  /etc/systemd/system/cve98432-guard.service
sudo systemctl daemon-reload
sudo systemctl enable --now cve98432-guard.service
sudo /usr/local/sbin/cve98432-guard status

このサービスはホストの現在の iptables 代替を使用します。このサービスに依存している間は、その代替を変更しないでください。このサービスは自身の名前空間のみを対象とし、Docker/LXC やその他の名前空間にルールを自動的に注入することはありません。

このユニットは起動時の永続化を提供するものであり、継続的な強制ではありません。外部ファイアウォールのリロード後は、次を実行してください:

sudo systemctl reload cve98432-guard.service
sudo /usr/local/sbin/cve98432-guard status

systemctl is-active だけでは、ルールがまだ存在することを検証できません。 より強固な統合を行うには、すでに使用しているファイアウォールマネージャーに同等のルールを追加し、2つの独立したマネージャーに依存しないようにしてください。

修正済みカーネルが実行されていることを確認した後、永続的なインストールを削除します:

sudo systemctl disable --now paranoid-cve98432.service
sudo /usr/local/sbin/cve98432-guard remove
sudo rm /etc/systemd/system/paranoid-cve98432.service
sudo systemctl daemon-reload
sudo rm /usr/local/sbin/paranoid-cve98432

明示的な remove は、ランタイムルールがまだ存在していた間に非アクティブだったユニットも処理します。以前の stop/remove コマンドが失敗した場合は、ファイル削除の手順を実行しないでください。まずエラーを確認してください。

その他のネットワーク名前空間

名前付き VPN/ネットワーク名前空間の場合:

sudo ip netns exec YOUR_NAMESPACE bash ./paranoid-cve98432.sh apply
sudo ip netns exec YOUR_NAMESPACE bash ./paranoid-cve98432.sh status
# Later:
sudo ip netns exec YOUR_NAMESPACE bash ./paranoid-cve98432.sh remove

コンテナ名前空間の場合は、明示的に特定したコンテナ PID と nsenter -t PID -n を指定してホストのツールを使用します。名前空間の再作成後には再適用してください。 このパッケージはコンテナの検出、コンテナへの権限付与、コンテナイメージ内への書き込みは行いません。

コマンドと終了コード

ツールをダウンロード