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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2023-6931 — CVE-2023-6931 カーネルパニック PoC | Kitploit
ツール/GitHubGitHub/k0n9-log/cve-2023-6931
メモリフォレンジック脆弱性分析エクスプロイト学習と教育バイナリエクスプロイト
GitHubk0n9-log/cve-2023-6931

CVE-2023-6931

CVE-2023-6931 カーネルパニック PoC

リポジトリを見る
2111年前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2023-6931

CVE-2023-6931 向けカーネルパニック PoC

説明

CVE-2023-6931 は、perf_event における脆弱性であり、グループの read_size の整数オーバーフローによって発生するヒープバッファオーバーフローにつながります。

パフォーマンスイベント (perf event) とは?

perf_events は、Linux カーネルが提供するパフォーマンス監視および分析フレームワークです。このフレームワークにより、ハードウェアおよびソフトウェアコンポーネントによって生成されるさまざまなパフォーマンス関連データの追跡が可能になります。

主な用途

  • ハードウェアイベント追跡 CPU サイクル、命令実行回数、キャッシュミスなどのイベントを追跡します。
  • ソフトウェアイベント追跡 スイッチング、ページフォルト、コンテキストスイッチなどのイベントを監視します。
  • カスタムイベント追跡 特定のアプリケーションやカーネルに固有のイベントの追跡を可能にします。

perf のコンポーネント

  • perf_event_open システムコール ユーザースペースがカーネル内のパフォーマンスイベントを設定および制御できるようにするインターフェースです。 イベントの作成、グループ化、制御、データの読み取りに使用されます。
  • パフォーマンスカウンタ CPU とカーネルによって追跡される実際のデータ。実行された命令数や CPU 使用率などです。
  • イベントグループ 複数のパフォーマンスイベントをグループ化して一緒に管理できるようにします。グループリーダーイベントはグループの代表として機能し、兄弟イベントはグループ内の残りのイベントを表します。

必要条件

  1. /proc/sys/kernel/perf_event_paranoid の値が 1 以下である必要があります。
  2. オープンできるファイルディスクリプタの数が少なくとも約 4100 である必要があります。これは ulimit -n コマンドを使用して確認および変更できます。
  3. カーネルオプション CONFIG_PERF_EVENTS が設定されている必要があります。

説明

この脆弱性は、グループの read_size における整数オーバーフローに起因します。関数 perf_event_validate_size は read_size の検証を行います。しかし、read_size が検証される方法は、現在のイベントの read_size のみをチェックします。

重要な点は、各検証中に現在のイベントのみが検証され、以前のイベントは検証されないことです。グループリーダーに PERF_FORMAT_GROUP が設定されている場合、現在のイベントを追加するだけでグループリーダーの read_size が増加する可能性があります。

これにより、最終的に perf_read_group で問題が発生します。event->read_size の計算は、グループリーダーの read_format に nr_siblings を乗じたものに基づいています。read_size 変数は 2 バイトの u16 であるため、保持できる最大値は 0xffff です。

これを悪用するために、攻撃者はまず、すべての可能な read_format オプションが設定されたグループリーダーイベントを作成します。次に、多数の兄弟イベントが作成されます。これらの兄弟イベントは、perf_event_validate_size での検証問題を防ぐために、read_format に PERF_FORMAT_TOTAL_TIME_RUNNING のみを設定します。その結果、nr_siblings の値は非常に大きくなりますが、各兄弟イベントは個別に検証を通過するため、この段階では問題はありません。

この状態で perf_read_group が呼び出されると、PERF_FORMAT_GROUP が設定されているため、グループリーダーの read_size が増加し続けます。最終的に整数オーバーフローが発生し、kzalloc は非常に小さなバッファを割り当てます。しかし、実際のイベント数は非常に多いため、ヒープバッファオーバーフローが発生し、カーネルパニックを引き起こします。

ツールをダウンロード