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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2025 — これはIOS 0click CVE-2025-43300のPOCです | Kitploit
ツール/GitHubGitHub/dark-life944/cve-2025
メモリフォレンジック脆弱性分析エクスプロイトファジング学習と教育バイナリエクスプロイト
GitHubdark-life944/cve-2025

CVE-2025

これはIOS 0click CVE-2025-43300のPOCです

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2025-43300: iOS/macOS DNG画像処理におけるメモリ破壊

概要

CVE-2025-43300 は、Apple の画像処理フレームワークにおける深刻なメモリ破壊の脆弱性で、iOS 18.6.1 および macOS システムに影響します。この脆弱性は RawCamera.bundle 内の JPEG Lossless デコードコードに存在し、DNG ファイル内の TIFF メタデータと JPEG ストリームパラメータの不整合によって引き起こされます。

脆弱性の詳細

根本原因

この脆弱性は、DNG(Digital Negative)ファイルにおけるメタデータとストリームの不整合に起因します:

  1. TIFF ヘッダー内の SamplesPerPixel メタデータは、期待されるカラーコンポーネントを示します
  2. JPEG Lossless ストリーム内の SOF3 コンポーネント数 は、実際のデータコンポーネントを指定します
  3. これらの値が異なる場合、割り当てと処理が不整合になります

メモリ破壊のフロー

root@kitploit:~
1. パーサーが TIFF メタデータから SamplesPerPixel を読み取る(例: 2コンポーネント)
2. システムがバッファを割り当てる: width × height × 2コンポーネント
3. JPEGデコーダーが SOF3 コンポーネント数を読み取る(例: 1コンポーネント)
4. デコーダーは不整合な想定に基づいてデータを書き込む
5. 割り当てられた量よりも多くのデータが書き込まれるとバッファオーバーフローが発生する

攻撃ベクトル

  • ゼロクリックの脆弱性: ユーザーの操作は不要
  • 自動処理: DNG ファイルの表示、インポート、または受信によってトリガーされます
  • クロスプラットフォームへの影響: iOS および macOS システムの両方に影響します
  • メモリ破壊: アプリケーションのクラッシュや潜在的なコード実行につながる可能性があります

ツール概要

このリポジトリには、CVE-2025-43300 を分析および再現するための 2 つの Python ツールが含まれています:

1. DNG脆弱性アナライザー (dng_vulnerability_analyzer.py)

目的: DNG ファイル構造を分析して脆弱性の条件を特定します

主な特徴:

  • IFD および SubIFD を含む TIFF/DNG ファイル構造を解析します
  • SamplesPerPixel メタデータタグを特定します
  • JPEG Lossless SOF3 マーカーとコンポーネント数を識別します
  • メタデータとストリームの不整合を検出します
  • 変更のための正確なバイトオフセットを報告します

使用方法:

root@kitploit:~
python3 dng_vulnerability_analyzer.py <dng_file>

出力:

  • ファイル構造の分析
  • メタデータタグの位置と値
  • JPEG ストリームのコンポーネント情報
  • 脆弱性の評価
  • POC 作成のための具体的なオフセット

2. 安全な Hex 修正ツール (hex_modifier.py)

目的: 特定のバイトを安全に変更して概念実証(POC)ファイルを作成します

主な特徴:

  • 変更前に期待されるバイト値を検証します
  • ファイル追跡用の SHA256 ハッシュを作成します
  • バイナリ差分レポートを生成します
  • 偶発的な破損を防ぐための安全チェックを実装します
  • 手動および自動の両方の POC 作成をサポートします

使用方法:

root@kitploit:~
# 既知の脆弱なオフセットを使用してPOCを作成
python3 hex_modifier.py create-poc <input.dng>

# 手動によるバイト修正
python3 hex_modifier.py modify <input.dng> <offset> <old_byte> <new_byte> <output.dng>

# 差分レポートの生成
python3 hex_modifier.py diff <original.dng> <modified.dng>

POC 作成プロセス

ステップ 1: 対象ファイルの分析

root@kitploit:~
python3 dng_vulnerability_analyzer.py IMGP0847.DNG

これにより以下が特定されます:

  • SamplesPerPixel メタデータの位置
  • JPEG SOF3 コンポーネント数の位置
  • 現在の値と推奨される変更

ステップ 2: 脆弱なサンプルの作成

POC には 2 つの特定のバイト変更が必要です:

  1. SamplesPerPixel メタデータの増加(通常は 1 から 2 へ)
  2. SOF3 コンポーネント数の減少(通常は 2 から 1 へ)
root@kitploit:~
python3 hex_modifier.py create-poc IMGP0847.DNG

ステップ 3: POC の検証

root@kitploit:~
python3 dng_vulnerability_analyzer.py vuln_poc_IMGP0847.dng

不整合が存在し、脆弱性がトリガーされることを確認します。

POC が機能する理由

技術的メカニズム

  1. 割り当てフェーズ:

    • 画像パーサーが SamplesPerPixel = 2 を読み取る
    • 2コンポーネント分のピクセルデータ用にバッファを割り当てる
    • バッファサイズ = 画像幅 × 画像高さ × 2
  2. 処理フェーズ:

    • JPEG Lossless デコーダーが 1コンポーネントの SOF3 に遭遇する
    • 解析ロジックが実際のデータサイズと期待されるデータサイズについて混乱する
    • 不整合な想定に基づいてデータを書き込もうとする
  3. メモリ破壊:

    • 元に割り当てられたよりも多くのデータがバッファに書き込まれる
    • バッファオーバーフローが隣接するメモリ領域を破損させる
    • アプリケーションのクラッシュや潜在的なコード実行につながる

ファイル形式の詳細

DNG ファイルは、埋め込まれた JPEG Lossless ストリームを備えた TIFF コンテナ形式を使用します:

  • TIFF メタデータ は、画像プロパティと色情報を記述します
  • JPEG ストリーム には、圧縮されたピクセルデータが含まれます
  • 信頼関係 はメタデータとストリームコンテンツの間に存在します
  • 検証のギャップ により、不整合な値が処理コードに到達できます

影響評価

深刻度: 重大

  • CVSS スコア: 高(ゼロクリック、メモリ破壊、広範囲への影響)
  • 影響を受けるシステム: iOS 18.6.1、同様の画像処理を備えた macOS システム
  • 攻撃ベクトル: ネットワーク/ローカルファイル転送
  • ユーザー操作: 不要
  • 影響範囲: DNG ファイルを処理するすべてのデバイス

現実世界のシナリオ

  • DNG ファイルを含むメール添付ファイル
  • AirDrop 転送
  • クラウド写真同期
  • 写真家のサンプルの Web ダウンロード
  • メッセージングアプリでのメディア共有

緩和策とパッチ

ベンダーの対応

  • iOS 18.6.2 で修正: Apple は適切なメタデータ検証を実装しました
  • macOS アップデート: 同様の修正が macOS 画像処理に適用されました
  • 根本原因: メタデータとストリームパラメータの間の整合性チェックが追加されました

推奨される緩和策

  1. システムを更新する: iOS 18.6.2 以降をインストールします
  2. 入力検証: カスタムパーサーでメタデータの整合性を検証します
  3. 境界チェック: 厳格なバッファサイズ検証を実装します
  4. ファジング: ファイル形式パーサーの定期的なテスト

ファイル構造と技術的詳細

TIFF/DNG 構造

root@kitploit:~
TIFF Header → IFD Chain → SubIFDs → Image Data
├── Metadata Tags (SamplesPerPixel, Compression, etc.)
├── JPEG Lossless Streams (SOF3 markers)
└── Pixel Data (compressed)

主な脆弱性の場所

  • SamplesPerPixel タグ: IFD 構造内の TIFF タグ 0x0115
  • SOF3 マーカー: JPEG Lossless フレーム開始(0xFFC3)
  • コンポーネント数: SOF3 マーカーから +9 バイトのオフセット
  • 重大な不一致: タグ値 ≠ コンポーネント数の場合

テストガイドライン

安全なテスト環境

  1. 隔離されたシステムを使用する: VM または専用テストデバイス
  2. スナップショットを作成する: POC ファイルをテストする前
  3. クラッシュを監視する: システムログとクラッシュレポートを確認
  4. ネットワーク分離: 意図しないファイル共有を防ぐ

期待される動作

  • 脆弱なシステム: アプリケーションのクラッシュ、メモリ破壊エラー
  • パッチ適用済みシステム: 適切なエラーハンドリングまたは正しい処理
  • ログの指標: メモリアクセス違反、セグメンテーションフォールト

技術リファレンス

ファイル形式のドキュメント

  • TIFF 6.0 仕様: タグ構造と IFD 形式
  • DNG 仕様: Adobe Digital Negative 形式
  • JPEG 標準: ロスレス圧縮(ITU-T T.87)

セキュリティ研究

  • メモリ破壊テクニック: バッファオーバーフローの基礎
  • ファイル形式ファジング: 自動化された脆弱性発見
  • パーサーセキュリティ: 入力検証のベストプラクティス

免責事項: この調査は、教育および防衛的なセキュリティ目的のみで提供されています。ユーザーは、適用される法律および倫理ガイドラインの遵守に責任を負います。

注意

クラッシュがトリガーされるまで約 1〜3 分かかります。楽しんでください。 また、POC については、open vuln_file.dng を実行するか、プレビューするだけで実行されます。

ツールをダウンロード