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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-31431 — CVE-2026-31431 のエクスプロイト。Linux カーネルの authencesn 脆弱性を利用し、ページキャッシュ操作を介してローカル権限昇格により root 権限を取得します。 | Kitploit
ツール/GitHubGitHub/abdullaabdullazade/cve-2026-31431
特権昇格エクスプロイトフレームワーク脆弱性分析エクスプロイト
GitHubabdullaabdullazade/cve-2026-31431

CVE-2026-31431

CVE-2026-31431 のエクスプロイト。Linux カーネルの authencesn 脆弱性を利用し、ページキャッシュ操作を介してローカル権限昇格により root 権限を取得します。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

Copy Fail (CVE-2026-31431) - 総合レポート

1. 脆弱性の概要

  • 脆弱性名: Copy Fail
  • CVE識別子: CVE-2026-31431
  • 発見者 / 著者: Xint Code Research Team(Theoriの研究者Taeyang Leeによる初期の基礎研究に基づく)

「Copy Fail」は、Linuxカーネルのauthencesn暗号テンプレートにおける重大なロジック脆弱性です。これにより、特権を持たないローカルユーザーが、システム上の任意の読み取り可能なファイルのページキャッシュに対して、決定的かつ制御された4バイト書き込みを引き起こすことができます。setuidバイナリ(/usr/bin/suなど)を標的とすることで、攻撃者はメモリ内の実行キャッシュを編集し、**Root(UID 0)**への権限昇格を達成できます。

「Dirty Cow」や「Dirty Pipe」のような古い脆弱性とは異なり、Copy Failはレースコンディション、リトライ、クラッシュしやすいタイミングウィンドウを必要としない単純なロジック欠陥です。ディスク上のファイルを完全に変更せずにメモリ内のページキャッシュのみを変更するため、移植性が高く、ステルス性にも優れており、標準的なファイル整合性監視ツールを回避します。

2. 根本原因の分析

この脆弱性は、3つの異なるカーネルコンポーネントの交点に存在します。

  1. AF_ALG & インプレースAEAD: AF_ALGは、カーネルの暗号サブシステムをユーザースペースに公開するソケットタイプです。2017年に、AEAD操作をインプレースで実行する最適化が追加されました。つまり、同じscatterlistが暗号アルゴリズムの入力と出力の両方として機能します。
  2. splice()システムコール: splice()システムコールは、コピーせずにファイルディスクリプタとパイプ間でデータを転送し、ページキャッシュページを参照渡しします。ユーザーがファイル(/usr/bin/suなど)をAF_ALGソケットにスプライスすると、ソケットの入力scatterlistは、そのファイルのカーネルキャッシュページへの直接参照を保持します。
  3. authencesnスクラッチ書き込み: authencesnアルゴリズム(IPsec拡張シーケンス番号に使用)は、バイトの再配置を必要とします。これを行うために、シーケンス番号の4バイトを「スクラッチスペース」として出力バッファに一時的に書き込みます。ただし、正当な出力境界を超えて書き込みます。

2017年のインプレース最適化により、出力scatterlistにはsplice()によって渡された読み取り専用のページキャッシュページが含まれます。authencesnが出力境界を超えて書き込むと、ターゲットファイルのキャッシュされたカーネルメモリ内の4バイトを直接上書きします。

3. 悪用メカニズム

攻撃者は以下の手順でこの脆弱性を悪用できます。

  1. ソケットセットアップ: 特権のないAF_ALGソケットを開き、authencesn(hmac(sha256),cbc(aes))にバインドします。
  2. 書き込みの構築: 書き込みたい4バイトを含むAssociated Authenticated Data(AAD)ペイロードを指定した、細工されたsendmsg()を送信します。
  3. ターゲットのスプライス: splice()を使用してターゲットファイル(/usr/bin/su)をソケットにパイプします。オフセットと長さによって、ページキャッシュ内のどこに4バイトが書き込まれるかが正確に定義されます。
  4. 復号のトリガー: recv()を呼び出すと復号操作がトリガーされ、範囲外のスクラッチ書き込みがターゲットファイルのページキャッシュに直接実行されます。
  5. 実行: ターゲットバイナリ(例:execve("/usr/bin/su"))を実行します。カーネルは、注入された悪意のあるシェルコードを含む改ざんされたページキャッシュバージョンを実行し、rootアクセスを許可します。

4. 緩和策と是正措置

一時的な回避策

カーネルのパッチ適用や再起動が直ちに不可能な場合は、関連するすべてのaf_algモジュールをブラックリストに登録し、メモリからアンロードすることで、この脆弱性を緩和できます。

これらのモジュールをブロックするには、以下のコマンドを実行します。

root@kitploit:~
# 1. 現在ロードされている場合は、モジュールをメモリからアンロードします
sudo modprobe -r algif_hash algif_skcipher algif_aead algif_rng af_alg

# 2. モジュールをブラックリストに追加します
echo -e "blacklist af_alg\nblacklist algif_hash\nblacklist algif_skcipher\nblacklist algif_aead\nblacklist algif_rng" | sudo tee /etc/modprobe.d/stop-exploit.conf

# 3. af_algモジュールが完全にロードされないようにします
echo "install af_alg /bin/true" | sudo tee -a /etc/modprobe.d/stop-exploit.conf

# 4. 変更を完全に有効にするためにシステムを再起動します
sudo reboot

恒久的な修正

Linuxカーネルセキュリティチームは、この脆弱性をパッチしました(コミット: a664bf3d603d)。このパッチは、AF_ALG AEAD操作をアウトオブプレースモデルに戻し、ソースとデスティネーションのscatterlistを分離します。これにより、ページキャッシュページが書き込み可能なデスティネーションscatterlistに公開されるのを防ぎます。

必要な対応: ディストリビューションのカーネルを、ベンダー(Ubuntu、Amazon Linux、RHEL、SUSEなど)が提供する最新バージョンに更新し、システムを再起動してください。

ツールをダウンロード