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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
cve-2021-3490-ebpf-analysis — CVE-2021-3490 に関連する Linux eBPF サブシステムとの相互作用を示す研究実装。BPF マップ作成、syscall ラッパー、namespace 設定、および verifier 解析が含まれます。教育およびセキュリティ研究目的のみに使用してください。 | Kitploit
ツール/GitHubGitHub/sandesh9978/cve-2021-3490-ebpf-analysis
エクスプロイトフレームワーク脆弱性分析リバースエンジニアリング学習と教育バイナリエクスプロイト
GitHubsandesh9978/cve-2021-3490-ebpf-analysis

cve-2021-3490-ebpf-analysis

CVE-2021-3490 に関連する Linux eBPF サブシステムとの相互作用を示す研究実装。BPF マップ作成、syscall ラッパー、namespace 設定、および verifier 解析が含まれます。教育およびセキュリティ研究目的のみに使用してください。

リポジトリを見る

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
5ヶ月前未レビュー

cve-2021-3490-ebpf-analysis

CVE-2021-3490 に関連する Linux eBPF サブシステムとの相互作用を示す研究実装です。BPF マップの作成、syscall ラッパー、名前空間のセットアップ、検証器の分析を含みます。教育およびセキュリティ研究のみを目的としています。

CVE-2021-3490 – eBPF 検証器のバウンド追跡分析 概要

このリポジトリには、CVE-2021-3490 に関連する Linux カーネル eBPF サブシステムを調査する C 実装が含まれています。CVE-2021-3490 は、eBPF 検証器における 32 ビット境界追跡の不正確さに関わる脆弱性です。

このプロジェクトの目的は、bpf() システムコールが内部でどのように動作するか、BPF マップがユーザースペースからどのように作成・管理されるか、そして検証器がレジスタの制約をどのように扱うかを理解することです。これはカーネル内部とセキュリティ分析に焦点を当てた研究・学習プロジェクトです。

このコードは本番環境での使用を意図していません。

背景

eBPF を使用すると、ユーザースペースのプログラムは検証済みのバイトコードを Linux カーネルにロードできます。実行前に、カーネル検証器はプログラムが次の条件を満たしているかを確認します。

安全でないメモリアクセスを行わない

レジスタの境界内に留まる

カーネルの安全規則に違反しない

脆弱なカーネルバージョンでは、特定の ALU 操作中に検証器が 32 ビット境界を誤って追跡していました。この欠陥により、細工されたプログラムが検証ロジックをバイパスできる可能性がありました。

公式の詳細:

NVD: https://nvd.nist.gov/vuln/detail/CVE-2021-3490

Ubuntu セキュリティ通知: https://ubuntu.com/security/CVE-2021-3490

Red Hat アドバイザリ: https://access.redhat.com/security/cve/CVE-2021-3490

このプロジェクトが示す内容

この実装は以下に焦点を当てています:

bpf() システムコールの直接使用

union bpf_attr の手動定義

BPF マップの作成 (BPF_MAP_TYPE_ARRAY)

マップ要素の更新と照会

BPF オブジェクトのメタデータ取得

制御された実行のための名前空間セットアップ

これは、ユーザースペースがカーネル BPF インフラストラクチャとどのように相互作用するかを理解するのに役立つように設計されています。

このリポジトリには、自動化されたエクスプロイトペイロードロジックは含まれていません。

テスト環境

Ubuntu 20.10 (Groovy)

Linux kernel 5.8.0-48-generic

カーネルバージョンは次のコマンドで確認できます:

uname -r

パッチ適用済みまたは新しいカーネルでは、動作が異なる場合があります。

ビルド

GCC を使用してコンパイル:

gcc -o exploit exploit.c -lpthread

標準の Linux ヘッダー以外に外部ライブラリは必要ありません。

使用方法

プログラムを実行:

./exploit

このプログラムは次のことを行います:

ユーザー名前空間とネットワーク名前空間を構成

BPF マップを作成

要素を挿入

マップのメタデータを照会

実行結果を表示

セキュリティに関する注意

このプロジェクトは以下の目的のためのものです:

教育目的

カーネルセキュリティ研究

eBPF 内部の理解

管理されたラボ環境

適切な許可なしにこのコードをシステム上で実行しないでください。

学習目標

このプロジェクトを通じて、以下を理解できます:

Linux カーネルが BPF インターフェースをどのように公開するか

BPF マップがどのように構造化されているか

検証器ロジックがユーザースペースの入力とどのように相互作用するか

低レベルのシステムコールを手動でどのように構築するか

ツールをダウンロード