Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
check-cve-2026-23111 — システムがcve-2026-23111に対して脆弱かどうかを確認するスクリプト | Kitploit
ツール/GitHubGitHub/criann/check-cve-2026-23111
特権昇格脆弱性スキャナー脆弱性分析構成監査脅威インテリジェンス学習と教育インシデントレスポンス
GitHubcriann/check-cve-2026-23111

check-cve-2026-23111

システムがcve-2026-23111に対して脆弱かどうかを確認するスクリプト

リポジトリを見る
3ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-23111 防御的検証スクリプト

概要

CVE-2026-23111 は、ユーザ名前空間と nftables が利用可能なシステムにおいて、特権のないユーザがローカル権限昇格に悪用できる Linux カーネルの nf_tables の脆弱性です。[1][2] 公開されたベンダーおよび政府の勧告は、これを Linux ディストリビューションに影響を与えるローカルの問題として説明し、パッチ適用を主な修正手段としています。[3][4]

このリポジトリには、防御的検証スクリプトが含まれています。これは、権限昇格のエクスプロイトを提供せずに、ホストがこの CVE に関連する技術的条件を露出しているかどうかを評価するのに役立ちます。これは、関連するカーネルおよび実行時条件をチェックし、必要に応じて nf_tables モジュールをロードして完全な機能テストを実行し、unshare と nft を使用した制御された非特権検証パスを試行し、ローカルの診断トレースを収集し、ホストを「安全と思われる」「ローカルポリシーでブロック」「露出パスあり」などの運用上の判定に分類します。[1][5]

CVE の内容

NVD によると、CVE-2026-23111 は Linux カーネルの nf_tables の脆弱性であり、netfilter におけるロジックバグ修正として解決され、影響を受ける構成では、特権のないユーザがユーザ名前空間と nftables を通じてローカル権限昇格を悪用できます。[1] Ubuntu のセキュリティ通知は、同じ高レベルの悪用パスを説明し、リリースごとの影響を受けるパッケージおよび修正済みパッケージの状態を追跡しています。[2]

Red Hat は、ローカルの低権限ユーザがこの問題を悪用してサービス拒否を引き起こしたり、権限昇格を達成する可能性があると述べており、運用上許容される場合に nf_tables モジュールのロードを防ぐことに基づく緩和策を文書化しています。[3] カナダサイバーセキュリティセンターからの国家レベルのガイダンスも、影響を受ける組織にベンダーの更新を指摘し、モジュールブロックの緩和策を使用する場合の initramfs の再生成に言及しています。[4]

スクリプトの機能

このスクリプトは、防御的な露出評価のためのものであり、悪用のためのものではありません。次のように設計されています。

  • 実行中のカーネル、ディストリビューションファミリー、関連する実行時の強化設定を識別する。
  • CONFIG_USER_NS と CONFIG_NF_TABLES が存在するかどうかを確認する。[1]
  • kernel.unprivileged_userns_clone と user.max_user_namespaces を検査して、特権のないユーザ名前空間が利用可能かどうかを推定する。
  • nf_tables モジュールに対して、ハードな modprobe 拒否 (install nf_tables /bin/false) または弱いブラックリストが設定されているかを検出する。
  • ベンダーカーネルの RPM 変更ログで CVE-2026-23111 のバックポートエントリを確認する(RHEL 系のみ)。
  • モジュール操作の前に、/proc/kallsyms から脆弱なシンボル (nft_map_catchall_activate) と修正後のシンボル (nft_catchall_set_activate) を指紋採取する。
  • --allow-load-module が指定された場合、オプションで modprobe 経由で nf_tables をロードし(下記参照)、終了時に自動的にアンロードする。
  • モジュールがロードされている場合、制約付きの + 検証手順を実行し、stdout、stderr、および最近のカーネルログを記録する。

スクリプトはスクリプトディレクトリの子ディレクトリにログを保存し、--keep-logs が使用されない限りデフォルトで削除します。

モジュールロードポリシー

デフォルトでは、スクリプトは 決して nf_tables をロードしません。スクリプトの開始時にモジュールがまだロードされていない場合、すべての機能的な nft テストはスキップされ、判定はカーネルバージョン、kallsyms の指紋、modprobe 設定、RPM 変更ログ、sysctl/LSM ポリシーの証拠のみから導き出されます。

この控えめなデフォルトは、本番ホストで攻撃面を意図せず拡大することを回避します。制御されたまたは計装されたシステムで完全な機能テストを有効にするには、root として --allow-load-module を使用します(下記参照)。

使用方法

root@kitploit:~
# デフォルト — モジュールロードなし、ポリシー証拠のみの判定
./check_cve_2026_23111.sh
./check_cve_2026_23111.sh --color
./check_cve_2026_23111.sh --keep-logs
./check_cve_2026_23111.sh --color --keep-logs

# 完全な機能テスト — nf_tables のロード(およびアンロード)、root が必要
sudo ./check_cve_2026_23111.sh --allow-load-module
sudo ./check_cve_2026_23111.sh --allow-load-module --color --keep-logs

オプション

--allow-load-module を使用するタイミング

--allow-load-module は、隔離された非本番環境、または専用のテスト VM で最も確度の高い判定が必要な場合に使用します。典型的なシナリオ:

  • 脆弱な範囲のカーネルが、ベンダーの修正を展開する前に検証されている場合。
  • テストシステムに KASAN またはその他の計装が有効になっており、カーネルトレースを観察したい場合。
  • ターゲットホストでモジュールが使用されておらず、監査証拠として完全なエンドツーエンドのパスチェックが必要な場合。

nf_tables が意図的にブロックされている本番ホスト、またはロードすると強化ポリシーに違反するホストでは、--allow-load-module を使用しないでください。

--allow-load-module の安全ゲート

モジュールをロードしようとする前に、スクリプトは以下のチェックを実行し、いずれかが失敗するとエラーで終了します。

  1. /etc/modprobe.d/ にハードな modprobe 拒否 (install nf_tables /bin/false) が存在しないこと。
  2. システムで modprobe が利用可能であること。
  3. スクリプトが root (uid 0) として実行されていること。

スクリプトによってモジュールが正常にロードされると、cleanup() トラップを介して終了時に modprobe -r nf_tables が呼び出されます(成功、エラー、CTRL+C のいずれの終了でも)。

判定モデル

スクリプトは、エクスプロイトの結果ではなく、運用上の判定を使用します。

これらの判定は、パッチの優先順位付けと防御的なトリアージを支援することを目的としており、ベンダーのパッケージステータス検証を置き換えるものではありません。

カーネルバージョンの適用範囲

スクリプトは、実行中のカーネルを文書化されたアップストリームの修正ポイントにマッピングします。

推奨される緩和策

主な推奨アクションは、ベンダー修正済みのカーネルアップデートをインストールし、修正されたカーネルで再起動することです。[2][3][4] 悪用はローカルカーネルの攻撃面に依存するため、パッチのスケジューリングまたは検証中に追加の強化により露出を減らすことができます。[5][6]

優先アクション

  1. カーネルにパッチを適用する 公式のディストリビューション勧告を使用し、修正バージョンで再起動する。[2][3][4]
  2. 特権のないユーザ名前空間を制限する ビジネス要件が許す場合。文書化された攻撃パスは、特権のないユーザが利用できることに依存しているため。[1][5][6]
  3. nf_tables のロードを無効化またはブロックする システムが nftables 機能を必要とせず、運用影響が検証されている場合。[3][4]
  4. 特権ネットワーキング機能を制限する CAP_NET_ADMIN を含むアクセスパスなど、ファイアウォール状態を操作できるアカウント数を減らす。[5]

強化手順の例

特権のないユーザ名前空間を制限:

root@kitploit:~
echo 'kernel.unprivileged_userns_clone=0' > /etc/sysctl.d/99-cve-2026-23111.conf
echo 'user.max_user_namespaces=0' >> /etc/sysctl.d/99-cve-2026-23111.conf
sysctl --load /etc/sysctl.d/99-cve-2026-23111.conf

運用上安全な場合に nf_tables モジュールのロードをブロック:

root@kitploit:~
echo 'install nf_tables /bin/false' > /etc/modprobe.d/disable-nf_tables.conf
rmmod nf_tables 2>/dev/null || true

モジュールロードの緩和策を使用する場合、一部のガイダンスでは、ブロックされたモジュールが早期ブート中にロードされないように initramfs を再生成することを推奨しています。[4]

Ubuntu 固有の注意点

Ubuntu は、特権のないユーザ名前空間に対する AppArmor ベースの制限を、カーネル修正の完全な代替ではなく、攻撃面を減らす方法として文書化しています。[6] ランタイムテストでは、攻撃パスがローカルでブロックされているため、ホストの露出が少なく見える場合がありますが、長期的な修復には依然としてベンダー修正済みのカーネルパッケージのインストールが必要です。[2][6] スクリプトは、実際の unshare --user 呼び出しを試行し、ユーザ+ネット名前空間内で CAP_NET_ADMIN が機能しているかどうかを確認することで、AppArmor 制限の有効性を検証します。

Red Hat 固有の注意点

Red Hat は、環境に適切な場合、CVE-2026-23111 の緩和策として nf_tables モジュールのロードを防ぐことを明示的に挙げています。[3] スクリプトは、check_modprobe_deny() を使用してこの設定を検出し、ハードな拒否 (install nf_tables /bin/false、オンデマンドロードをブロック) と弱いブラックリスト (ブロックしない) を区別します。RHEL 系システムでは、スクリプトは実行中のカーネルの RPM 変更ログで CVE-2026-23111 のバックポートエントリも検査し、アップストリームバージョン番号に依存しないベンダー確認済みの判定を可能にします。

公式リファレンス

  • NVD: CVE-2026-23111 Detail [1]
  • Ubuntu Security: CVE-2026-23111 [2]
  • Red Hat Security: CVE-2026-23111 [3]
  • Canadian Centre for Cyber Security advisory: AL26-011 [4]
  • Ubuntu AppArmor user namespace restriction overview: Understanding AppArmor User Namespace Restriction [6]

範囲と安全性

この README と付属のスクリプトは、防御的な検証、棚卸し、および緩和計画を目的としています。これらは、ベンダーのガイダンス、パッケージレベルの検証、または標準的なパッチ管理プロセスに代わるものではなく、リンクされた勧告に記載されている公式修正を適用するための代替として使用すべきではありません。[2][3][4]


📚 教育用セキュリティ研究リポジトリ

管理された環境でサイバーセキュリティの概念を学習、テスト、研究するためのリポジトリ。


⚠️ セキュリティおよび法的免責事項

目的

このリポジトリは教育目的および許可されたセキュリティ研究のみを目的としています。

ユーザーが以下について学習できるように設計されています。

  • セキュリティ脆弱性
  • サンドボックスと分離の概念
  • セキュアコーディングと防御的なプラクティス

許可された使用のみ

このリポジトリは、許可を得ている環境でのみ使用してください。例えば:

  • 個人のラボまたは仮想マシン
  • Docker または隔離された環境
  • 許可されたペネトレーションテスト
  • サイバーセキュリティトレーニングまたは学術研究

許可されていない、または違法な使用は固く禁止されています。


責任の否定

著者および貢献者は、このプロジェクトによって引き起こされたいかなる損害、誤用、法的問題、または損失についても責任を負いません。

このリポジトリを使用することで、以下に同意したものとみなされます。

  • あなたは自分の行動に責任を持つこと
  • 合法的かつ倫理的に使用すること
  • プロジェクトは保証なしで提供されること

倫理的な使用

このプロジェクトは以下を意図しています。

  • 防御的なセキュリティ研究
  • サイバーセキュリティ教育
  • 脆弱性の認識
  • セキュアなシステムおよびソフトウェア研究

責任ある開示の慣行に従い、すべての該当する法律を遵守してください。


連絡先

責任ある開示やコラボレーションについては、GitHub 経由でリポジトリメンテナーにお問い合わせください。

ツールをダウンロード
unshare -U -n --map-root-user
nft
  • unshare --user が実際に名前空間を作成し、内部で CAP_NET_ADMIN が機能していることを確認し、AppArmor または SELinux の制限が実際に効果的かどうかを確認する。
  • AppArmor や SELinux などのローカルセキュリティ制御がテストパスをブロックしているように見える場合に強調表示する。[6]
  • 判定指向の出力を、オプションの色強調表示付きで出力し、トリアージを容易にする。
  • オプション説明
    --allow-load-moduleモジュールがまだロードされていない場合、modprobe 経由で nf_tables をロードすることをスクリプトに許可します。完全な nft catchall パスエクササイザーと CAP_NET_ADMIN 有効性テストを有効にします。モジュールは終了時に自動的にアンロードされます。root が必要です。 ハードな modprobe 拒否が既に設定されている場合は拒否されます。非本番環境または計装されたシステムでのみ使用してください。
    --color端末がサポートしている場合、色付きの stdout 出力を有効にします。
    --keep-logs終了時にログとトレースを削除せず、スクリプトディレクトリに保持します。
    --help使用法情報を表示して終了します。
    判定意味
    not-affectedカーネルバージョンが 5.13 未満。catchall 要素機能はまだ導入されておらず、脆弱なコードパスは存在しません。
    likely-patched-vendor-confirmedベンダーカーネルの RPM 変更ログで CVE-2026-23111 が見つかり、アップストリームバージョンに関係なくバックポート修正が確認されました。
    likely-patched-upstream-confirmedカーネルバージョンが修正済みのアップストリーム範囲内かつ機能的な nft テストがゼロ以外の終了コードを返し、カーネルシグナルがない — 安全な状態に対する最も強力な静的 + 動的証拠。
    likely-patched-upstreamカーネルバージョンが修正済みのアップストリーム範囲内であるが、機能テストは実行されなかった(モジュール不在、または決定的でない)。ベンダーの勧告ステータスは依然として確認すべき。
    likely-safe-or-patchedスクリプトによって悪用可能なパスは確認されなかった。原因は、修正済みカーネル、脆弱なコードの不在、または暗黙のローカルブロックの間で曖昧。
    blocked-by-local-policyテストパスが AppArmor、SELinux、ユーザ名前空間の制限、または modprobe 拒否によってブロックされているように見える。[6] ポリシーブロックはベンダーの修正の代わりにはならない。
    exposed-path-availableホストが、文書化された悪用前提条件と互換性のある userns + nftables パスを公開している。[1][5]
    strong-signal-lab-confirmationnf_tables 関連のメモリ破壊と一致するカーネルログシグナルが観測された。使い捨ての計装されたラボでのみ確認すること。
    prerequisites-missing必要な診断ツール (unshare、nft) が不足している。意味のある実行時検証は完了しなかった。
    ブランチ修正バージョンアップストリームコミット
    6.13.x+≥ 6.13.1f41c5d1
    6.12.x≥ 6.12.128c760ba
    6.6.x≥ 6.6.75b9b6573
    6.1.x≥ 6.1.1288b68a45
    6.2–6.5, 6.7–6.11アップストリーム EOLディストリビューションのバックポートのみ
    5.15.xディストリビューション依存Amazon Linux: ALAS2KERNEL-5.15-2026-098
    5.10.xディストリビューション依存Amazon Linux 2: 2026年3月時点で保留中
    5.4.xディストリビューション依存Amazon Linux 2: 2026年3月時点で保留中
    5.13–5.14アップストリーム EOLディストリビューションのバックポートのみ
    < 5.13影響なしcatchall 機能は存在しない