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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
cve-2026-46331-audit — cve-2026-46331-監査スクリプト | Kitploit
ツール/GitHubGitHub/quaerendir/cve-2026-46331-audit
特権昇格脆弱性分析エクスプロイトフォレンジック論文と研究学習と教育インシデントレスポンス
GitHubquaerendir/cve-2026-46331-audit

cve-2026-46331-audit

cve-2026-46331-監査スクリプト

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

人気

すべて見る →

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

すべてのツールを探索

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

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

cve-2026-46331-audit

CVE-2026-46331(別名 pedit COW)用の読み取り専用監査スクリプト — Linux カーネルの net/sched の act_pedit アクションに存在する部分的なコピーオンライト(COW)バグで、ローカルの非特権ユーザーがページキャッシュメモリを破壊し、root に権限昇格できるようにするものです。

root@kitploit:~
   ____  _____ ____ ___ _____      ____ _____        __
  |  _ \| ____|  _ \_ _|_   _|    / ___/ _ \ \      / /
  | |_) |  _| | | | | |  | |     | |  | | | \ \ /\ / /
  |  __/| |___| |_| | |  | |     | |__| |_| |\ V  V /
  |_|   |_____|____/___| |_|      \____\___/  \_/\_/
     CVE-2026-46331    net/sched act_pedit partial COW

TL;DR

tcf_pedit_act() は、キーループの前に tcfp_off_max_hint を使って skb_ensure_writable() の COW 範囲を一度だけ計算します。型付きキーは、このヒントがカバーしない実行時ヘッダーオフセットを追加するため、最終的な書き込みの一部が COW された領域の外に及びます。その結果、共有されたページキャッシュページが書き換えられ、キャッシュされた setuid バイナリ(古典的な標的は /bin/su)がメモリ上で改ざんされる可能性があります。ディスク上のハッシュはクリーンなままなので、ファイル整合性モニターはこれを検知できません。

Dirty COW (CVE-2016-5195)、Dirty Pipe (CVE-2022-0847)、Copy Fail (CVE-2026-31431)、Dirty Frag (CVE-2026-46300) と同じバグファミリーです。エントリーポイントは異なりますが、ページ所有権の失敗という根本は同じです。

このスクリプトの機能

厳密に読み取り専用のトリアージです。モジュールをロードせず、sysctl にも触れず、PoC も実行しません。本番環境で安全に実行できるように設計されています。

  • 実行中のカーネル、ディストリビューション、カーネルパッケージのバージョンを収集します。
  • 4 つの独立したシグナルで act_pedit の到達可能性を調査します:
    • 現在ロードされているか(lsmod)
    • オンデマンドでロード可能か(modinfo)
    • 実行中のカーネルに組み込まれているか(/boot/config-$(uname -r)、/proc/config.gz、modules.builtin)
    • modprobe.d の blacklist または install ... /bin/true オーバーライドでブロックされているか
  • 既存の tc action pedit ルールを一覧表示します(情報提供のみ。変更は行いません)。
  • userns ゲートを読み取ります: user.max_user_namespaces、kernel.unprivileged_userns_clone、および Ubuntu AppArmor の userns 制限。
  • /etc/os-release ごとのヒューリスティックなベンダーパッチマトリクス(RHEL 8/9/10、Debian 11/12/13/14、Ubuntu 18.04→26.04、SUSE、Amazon Linux、Arch 系ローリングリリース)。

使い方

root@kitploit:~
sudo ./cve-2026-46331-audit.sh                       # full text report
sudo ./cve-2026-46331-audit.sh --json                # machine-readable JSON, no banner
sudo ./cve-2026-46331-audit.sh --quiet --no-hunt     # one-line verdict for mass scans
sudo ./cve-2026-46331-audit.sh --since 2026-06-01    # widen IoC hunt window
sudo ./cve-2026-46331-audit.sh --no-banner           # text report without the ASCII banner

終了コード

出力例

完全な実行例は examples/sample-output.txt、JSON 形式は examples/sample-output.json を参照してください。

リスクスコアリングモデル

スコアは以下の重み付けされた組み合わせです:

上限は 100 です。約 70 を超える場合は、マルチテナント / CI / Kubernetes ノードでは緊急とみなすべきです。約 20 未満は通常、ホストに問題がないことの確認になります。

大規模展開

Ansible

root@kitploit:~
ansible -i inventory all -m script \
  -a "cve-2026-46331-audit.sh --json --quiet --no-hunt" \
  --become \
  | tee /tmp/audit.jsonl

次に jq で集計します:

root@kitploit:~
grep -v '^[a-z]' /tmp/audit.jsonl | jq -s 'group_by(.verdict) | map({verdict: .[0].verdict, hosts: length})'

プレイにおける failed_when

root@kitploit:~
- name: audit CVE-2026-46331
  ansible.builtin.script: cve-2026-46331-audit.sh --quiet --no-hunt
  register: audit
  failed_when: audit.rc == 2
  changed_when: false

緩和策(パッチ適用を延期する必要がある場合)

優先順位の高い順です。スクリプトは検出結果に基づいて適切なものを推奨します。

root@kitploit:~
# Option 1: block act_pedit if you don't use it.
tc actions list action pedit                  # MUST be empty before doing this
echo 'install act_pedit /bin/true' | sudo tee /etc/modprobe.d/disable-act_pedit.conf
lsmod | grep -q act_pedit && sudo rmmod act_pedit
root@kitploit:~
# Option 2: restrict unprivileged user namespaces.
# Will break rootless Podman/Docker, browser sandboxes, Flatpak, unprivileged unshare, some CI sandboxes.
sudo sysctl -w user.max_user_namespaces=0           # EL-family
sudo sysctl -w kernel.unprivileged_userns_clone=0   # Debian/Ubuntu

真の修正は、ベンダーカーネルの更新と再起動です。再起動後の uname -r だけがそれを証明します。

バグファミリーの背景

これは同じアーキテクチャ上の欠陥の 5 回目の繰り返しです。それぞれが直接の原因を修正しましたが、根本原因を修正したものはありません。その根本原因とは、所有権の境界をまたいでページを共有するゼロコピーの高速パスであり、何百もの呼び出しサイトで、すべての書き込み側がバイトを変更する前にプライバシー(排他所有)を証明する必要があるというものです。

カーネル内 Rust は、所有権型によってまさにこのクラスの問題に対処します。とはいえ、それが明日 net/sched に登場するわけではありません。

参照

  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-46331
  • Red Hat: https://access.redhat.com/security/vulnerabilities/RHSB-2026-008
  • Ubuntu: https://ubuntu.com/security/CVE-2026-46331
  • Debian: https://security-tracker.debian.org/tracker/CVE-2026-46331
  • アップストリームのコミットと説明: NVD レコードの参照先を参照してください。

ライセンス

MIT。LICENSE を参照してください。

免責事項

所有している、または監査を明示的に許可されているシステムでの、許可された防御目的の使用を対象としています。このスクリプトは公開 PoC を実行せず、システム状態を変更せず、モジュールをロードしません。判定結果はトリアージとして扱い、侵害の証明や安全性の証明として扱わないでください。

ツールをダウンロード
CVECVE-2026-46331
コンポーネントLinux kernel net/sched / act_pedit
分類部分 COW → ページキャッシュ破壊 → LPE
攻撃ベクトルローカル(CAP_NET_ADMIN、通常は非特権ユーザーネームスペース経由で取得)
影響を受けるアップストリーム5.18 .. 7.1-rc6
アップストリーム修正7.1-rc7
公開 PoCpacket_edit_meme(RHEL 10、Debian 13、Ubuntu 24.04.4 で検証済み)
Red Hat 重要度重要
SUSE CVSS 3.17.8 (AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H)
  • auditd と journalctl によるオプションの行動的 IoC ハント(--since で期間を設定可能)。
  • リスクスコア 0〜100 と最終判定: PATCHED / NOT_APPLICABLE / MITIGATED / VULNERABLE / UNKNOWN。
  • フリートオーケストレーション向けに設計された終了コード。
  • コード意味
    0PATCHED または NOT_APPLICABLE(カーネルがこのバグより前のもの)
    1MITIGATED(緩和策は有効だがカーネルは依然として脆弱。パッチを適用すること)
    2VULNERABLE(必要な前提条件が 1 つ以上満たされており、修正済みカーネルがない)
    3UNKNOWN(共有 / CI / Kubernetes 環境では要調査として扱う)
    4ERROR(スクリプトを実行できなかった。ツールの欠落または環境の問題)
    シグナル重み
    ベンダー判定 VULNERABLE+50
    ベンダー判定 UNKNOWN+30
    act_pedit がカーネルに組み込み済み+25
    act_pedit がロード可能、オーバーライドなし+20
    act_pedit がロード可能、オーバーライド有効+5
    act_pedit が現在ロードされている+5
    非特権 userns が到達可能、AppArmor ゲートなし+15
    非特権 userns が到達可能、AppArmor ゲート有効+8
    ハント期間内に IoC を検出+10
    CVE年サブシステムプリミティブ
    CVE-2016-51952016mm読み取り専用マッピング上の COW 競合
    CVE-2022-08472022pipe / splicepage cache への pipe_buffer フラグリーク
    CVE-2026-314312026crypto AF_ALG/AEAD読み取り専用ファイルキャッシュ上のインプレース暗号処理
    CVE-2026-463002026XFRM ESP-in-TCPskbuff 共有フラグマーカーの消失
    CVE-2026-463312026net/sched act_pedit後期解決された型付きキーオフセットによる部分 COW