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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
cve-tarmageddon — CVE-2025-62518のデモンストレーション:tokio-tarおよびasync Rust tarライブラリの重大なPAX拡張ヘッダーサイズ上書きバグ。再現ツールと影響範囲分析を備えています。 | Kitploit
ツール/GitHubGitHub/edera-dev/cve-tarmageddon
脆弱性分析エクスプロイトファジングバイナリ解析サプライチェーンセキュリティ学習と教育
GitHubedera-dev/cve-tarmageddon

cve-tarmageddon

CVE-2025-62518のデモンストレーション:tokio-tarおよびasync Rust tarライブラリの重大なPAX拡張ヘッダーサイズ上書きバグ。再現ツールと影響範囲分析を備えています。

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

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
ウェブサイト
共有

Ivy Astronaut

CVE-2025-62518: TARmageddon

このリポジトリは、tokio-tarおよび関連する非同期Rust tarライブラリにおいて、PAX拡張ヘッダーの size オーバーライドが次のヘッダー位置を計算する前に適用されない重大なバグを示しています。

バグの概要

根本原因: PAX拡張ヘッダーがファイルサイズを上書きするtarファイルを処理する際、ライブラリは位置計算にPAXオーバーライドではなく、8進数のサイズフィールド(多くの場合ゼロ)を使用します。

影響: これにより、パーサーがファイルコンテンツに飛び込み、それをtarヘッダーと誤認し、誤ったファイルの抽出につながります。

既知の影響を受けるライブラリ:

  • async-tar https://github.com/dignifiedquire/async-tar
  • tokio-tar https://github.com/vorot93/tokio-tar
  • krata-tokio-tar https://github.com/edera-dev/tokio-tar
  • astral-tokio-tar https://github.com/astral-sh/tokio-tar

クイックスタート

root@kitploit:~
# Requirements: CMake, Rust/Cargo, C++ compiler, system tar command

cmake -S . -B build
cmake --build build --target generate_report

これにより、以下の処理が行われます:

  1. すべてのC++およびRustツールをビルド
  2. 再現ケースのtarファイルを生成
  3. バグを示す比較を実行
  4. build/output/ に詳細レポートを生成

プロジェクト構造

root@kitploit:~
├── disclosure/               # セキュリティ開示ドキュメントツリー
│   └── blast_radius/         # tokio-tarの派生に依存するプロジェクトの記録
├── repro_generator/          # 再現ケースtarファイルを生成するC++ツール
├── tar-bug-detector/         # tarライブラリを比較するRustツール  
├── tarwalk/                  # 正しいC++ tarパーサー
│   ├── tarwalk.cpp           # PAXを正しく処理
│   └── tarwalk_bad.cpp       # 同じバグを再現
├── CMakeLists.txt            # ビルドシステム
├── generate_report.cmake     # レポート生成
└── README.md                 # このファイル

バグの詳細

通常のTAR処理

root@kitploit:~
ヘッダー -> コンテンツ(8進数フィールドからのサイズ) -> 次のヘッダー

PAX拡張TAR処理(正しい)

root@kitploit:~
PAXヘッダー (size=1024) -> ファイルヘッダー (8進数サイズ=0) -> コンテンツ (1024バイト) -> 次のヘッダー

PAX拡張TAR処理(バグあり)

root@kitploit:~
PAXヘッダー (size=1024) -> ファイルヘッダー (8進数サイズ=0) -> コンテンツ (0バイト) -> 誤った位置
                                                                              ↓
                                                                    コンテンツをヘッダーとして読み取り!

現実世界のトリガー

Dockerのsaveは次のようなtarファイルを作成します:

  • PAX拡張が必要な大きなレイヤー(>8GB)
  • ファイルシステムtarヘッダーで始まるレイヤーコンテンツ(etc/、usr/)
  • バグが発生すると、パーサーはイメージマニフェストではなくファイルシステムコンテンツを抽出します

生成される再現ファイル

  • pax_bug_compact.tar - 最小限の再現ケース

期待される結果

正しいライブラリ (GNU tar、同期tarクレート):

root@kitploit:~
normal.txt -> blob.bin -> marker.txt

バグのあるライブラリ (tokio-tar):

root@kitploit:~
normal.txt -> blob.bin -> INNER_FILE -> marker.txt

INNER_FILEの出現はバグを示しています。ライブラリがblob.binのコンテンツに飛び込み、偽のtarヘッダーを実際のエントリと誤認したことを意味します。

技術的詳細

修正には、位置計算の前にPAXオーバーライドを適用する必要があります:

root@kitploit:~
// ヘッダーを読み取る
let mut file_size = header.size();

// 次の位置を計算する前にPAXオーバーライドを適用
if let Some(pax_size) = pending_pax.get("size") {
    file_size = pax_size.parse().unwrap();
}

// 効果的なサイズを使用して次のヘッダー位置を計算
let next_pos = current_pos + 512 + pad_to_512(file_size);

ライセンス

この再現コードは、セキュリティ研究と責任ある開示目的で提供されます。

オリジナルソースコードのライセンスについてはCOPYINGを参照してください。

ツールをダウンロード