bl_sbx — itunesstored と bookassetd の Sandbox 脱出(POC)

Security

概要

bl_sbx は、itunesstored と bookassetd という iOS のユーザランドデーモンにおけるダウンロード処理を悪用し、サンドボックス境界を越えてファイルを書き込むことを示す概念実証リポジトリです。公開されている POC は、細工した SQLite データベース(主に downloads.28.sqlitedb と BLDatabaseManager.sqlite)を用いて、システムが想定していない場所へ「mobile」所有のファイルを配置可能であることを示します。特に MobileGestalt のキャッシュ等、デバイスの識別情報に影響を与えうるファイルが対象となり得ることから、システム整合性や署名検証、デバイスプロパティの信頼性に関する重要な示唆を与えます。攻撃の実行環境や前提条件には注意が必要で、実機での検証や公開された PoC の利用は慎重に行うべきです。

GitHub

リポジトリの統計情報

  • スター数: 31
  • フォーク数: 4
  • ウォッチャー数: 31
  • コミット数: 3
  • ファイル数: 5
  • メインの言語: 未指定

主な特徴

  • itunesstored と bookassetd のダウンロード処理をターゲットとしたサンドボックス回避の概念実証を収録。
  • 細工した SQLite データベースファイル(downloads.28.sqlitedb、BLDatabaseManager.sqlite)をサンプルとして提供。
  • /private/var/ 以下の制限領域へ mobile 所有のファイルを書き込めることを示唆(MobileGestalt キャッシュ等)。
  • 実行例やデータベースの構造を参照でき、調査・検証目的の理解に資する資料を含む。

技術的なポイント

本リポジトリの技術的要点は、iOS の特定のデーモンがデータベースに基づくダウンロードやファイル配置処理を行う際の信頼境界に着目している点です。itunesstored や bookassetd は外部から供給されるメタデータやデータベースエントリを参照してファイル配置を行うため、入力が適切に検証されない場合、意図しないパスへの書き込みや所有権の割り当てといった挙動が発生する恐れがあります。リポジトリに含まれる downloads.28.sqlitedb と BLDatabaseManager.sqlite は、こうしたメカニズムを刺激するために細工された例であり、結果として「mobile」ユーザ所有のファイルがシステム領域に作成される可能性を示します。注目すべきは、MobileGestalt のようなシステムコンポーネントがキャッシュファイル等を基にデバイス特性を判断する点で、そこに不正なファイルを書き込めればプロパティ偽装などの二次的影響が生じ得ることです。ただし、本リポジトリは概念実証を提供するものであり、実際の影響範囲や成功条件は OS バージョン、権限構成、署名検証の有無など多くの要因に依存します。詳細な再現手順やエクスプロイトの拡張は記載せず、検証は責任ある条件下で行うべきです。

プロジェクトの構成

主要なファイルとディレクトリ:

  • BLDatabaseManager.sqlite: file
  • README.md: file
  • downloads.28.sqlitedb: file
  • iPhone13,2_26.0.1_MobileGestalt.epub: file
  • iTunesMetadata.plist: file

まとめ

サンドボックス回避の概念検証を示す、研究/解析向けの資料集です。慎重な取り扱いと責任ある開示が重要です。

リポジトリ情報:

READMEの抜粋:

bl_sbx

itunesstored & bookassetd Sandbox Escape

This repository contains a proof-of-concept demonstrating how maliciously crafted downloads.28.sqlitedb and BLDatabaseManager.sqlite databases can escape the sandbox of itunesstored and bookassetd on iOS. By abusing their download mechanisms, the POC enables writing arbitrary mobile-owned files to restricted locations in /private/var/, including MobileGestalt cache files—allowing device modifications such as spoofing the devic…