当社のAIエンジンNeutronが、UCバークレーのCyberGymベンチマークで97.1%のスコアを記録しました。 詳細を見る

ディープダイブ

ディープダイブ

worse_query:iOS のサンドボックス脱出、他アプリのデータを公開

iOS 26 と 27 のサンドボックス脱出が公開され、App Store 外のアプリが他アプリのコンテナを読み書きできる。11 月 9 日の更新では修正されていない。

要点

  • worse_query と呼ばれる公開された概念実証が iOS アプリのサンドボックスを脱出し、他のアプリのデータ コンテナに到達します。アプリ グループのコンテナを作成したアプリは、コンテナ マネージャーに任意のパスへのサンドボックス拡張を要求できます。
  • 概念実証は iOS 26.0 から 26.7.2 と iOS 27.2 で動作するとしています。Apple は 2026 年 11 月 9 日に iOS 27.2.1 と iOS 26.7.3 を公開しましたが、どちらのセキュリティ ノートにもサンドボックスの修正は記載されていません。
  • CVE は割り当てられておらず、Apple はアドバイザリも修正版も公開していません。Binance は 2026 年 11 月 10 日、シード フレーズ、秘密鍵、ログイン情報が露出する可能性があると警告しました。Binance も研究者も攻撃や窃取は報告していません。CVE がないため、2026 年 11 月 10 日時点で CISA の Known Exploited Vulnerabilities (KEV) カタログにも掲載されていません。
  • App Store 外でインストールしたアプリを削除し、管理対象デバイスではアプリのインストールを制限し、信頼できないサイドロード アプリを実行した iPhone は露出したものとして扱ってください。「修正方法」を参照してください。

影響を受けますか?

次のすべてに当てはまる場合に影響を受けます。

  • 脱出が到達するバージョンの iPhone または iPad を使用している。概念実証は iOS 26.0 から 26.7.2 と iOS 27.2 を挙げています。派生ツールは iOS 27.2.1 も主張しています。
  • デバイスに App Store 外でインストールしたアプリ、または攻撃者が制御するアプリがあり、アプリ グループのコンテナを持つ。公開された概念実証にはアプリ グループが必要で、サイドロード ツールは自動的に作成します。
  • アプリがデバイス上で実行される。実証された脱出は端末内のローカルなもので、リモートのネットワーク攻撃ではありません。

公開された概念実証は、すべてのアプリのデータ コンテナと、iOS 27 の一部のシステム フォルダに到達します。README は開けるパスを列挙しています。

/var/containers/Data/System (iOS 27)
/var/containers/Shared/SystemGroup/* (iOS 27)
/var/mobile/Containers/Data/Application/*
/var/mobile/Containers/Data/InternalDaemon/*
/var/mobile/Containers/Data/PluginKitPlugin/*
/var/mobile/Containers/Shared/AppGroup/*
iOS の系統 情報源による動作範囲 修正バージョン
iOS 26 概念実証の README によると 26.0 から 26.7.2 なし。iOS 26.7.3 のセキュリティ ノートにサンドボックスの修正はありません。
iOS 27 README によると 27.2。派生ツールは 27.2.1 を主張 なし。iOS 27.2.1 のセキュリティ ノートにサンドボックスの修正はありません。

デバイスの設定、一般、情報の順に開き、インストールされているバージョンを確認します。バージョンは最初の画面に表示されます。

管理された端末群では、モバイル デバイス管理コンソールからデバイスと OS のバージョンを一覧表示します。次に、管理カタログ外でインストールされたアプリを一覧表示します。App Store のアプリだけを実行する iPhone と、サイドロードしたビルドを実行する端末では、露出の状況が異なります。

修正方法

修正はありません。Apple は worse_query についてアドバイザリ、CVE、修正済み iOS を公開しておらず、11 月 9 日の更新にも記載がありません。Apple が修正を出すまでの間、次の手順で露出を減らします。

  1. AltStore、SideStore、署名サービスでインストールしたビルドを含め、App Store 外でインストールしたアプリを削除します。アプリと構成プロファイルを削除します。
  2. 管理対象デバイスでは、管理アプリ カタログ外からのインストールをブロックします。管理されていないデバイスでは、可能な場合にスクリーン タイムでアプリのインストールを防ぎます。
  3. iOS を最新版に更新します。この脱出は閉じませんが、Apple が 11 月 9 日に修正した欠陥は閉じます。
  4. 端末に秘密を保存していたウォレットやアカウントは、クリーンなデバイスで作成した新しいウォレットへ資金やアカウントを移します。Binance の助言に従い、有効なセッションをリセットします。
  5. 設定、一般、VPN とデバイス管理でインストール済みの構成プロファイルを確認し、説明できないプロファイルを削除します。

サイドロードしたアプリを削除すると、その端末から脱出のコピーがなくなります。すでに行われたアクセスは取り消されません。信頼できないアプリが端末で実行された場合は、他のアプリのコンテナ内のデータが読まれた可能性があるものとして扱ってください。

根本原因は何ですか?

この脱出は、コンテナ マネージャーのサンドボックス拡張 API を悪用します。アプリは自分のアプリ グループ コンテナの一部へのアクセスをコンテナ マネージャーに要求でき、マネージャーはアプリが制御するシンボリック リンクをたどり、リンク先に対する拡張を発行します。

iOS はアプリをサンドボックスで分離します。コンテナはアプリのデータを保持し、アプリ グループは複数のアプリが 1 つのコンテナを共有できるようにします。アプリがパスへのアクセスを必要とするとき、コンテナ マネージャーはサンドボックス拡張を発行できます。アプリはトークンを消費して、そのパスまでサンドボックスを拡張します。

概念実証はコンテナ マネージャーの非公開クエリ インターフェースを呼び出します。クラス 7(アプリ グループ)と、パート 3(グループの Library/Caches)を要求します。

query_set_class(query, 7); // appGroup
query_set_group_identifiers(query, identifier);
query_set_part(query, 3); // Library/Caches
...
void *result = query_get_single_result(query);
char *token = copy_sandbox_token(result);
int64_t handle = consume_extension(token);

クエリの前に、アプリはグループの Library/Caches ディレクトリを削除し、対象パスへのシンボリック リンクとして再作成します。

[files removeItemAtPath: caches error: nil];
[files createSymbolicLinkAtPath: caches withDestinationPath: target error: nil];

クエリは要求されたパートをファイルシステム経由で解決します。コンテナ マネージャーはシンボリック リンクをたどり、解決された対象を許可するパスと判断し、そのパスへのサンドボックス拡張を返します。解決されたパスがアプリ グループ コンテナ内に留まるかは確認しません。アプリはトークンを消費し、対象パスを開けるようになります。

概念実証には pathleak も含まれます。これは fsgetpath() で inode 番号を総当たりし、他のコンテナの UUID ベースのパスを復元するツールです。これにより、既知の対象パスが端末上のすべてのアプリ コンテナの一覧になります。

どのように悪用されますか?

悪意のあるアプリまたはサイドロードしたアプリが端末内で脱出を実行し、対象ディレクトリへのサンドボックス拡張を取得して、他のアプリに属するファイルを読み取りまたは変更します。

  1. 被害者が App Store 外のアプリ、または攻撃者が制御するアプリをインストールします。サイドロード ツールが脱出に必要なアプリ グループ コンテナを作成します。
  2. アプリは自分のアプリ グループの Library/Caches ディレクトリを削除し、対象パスへのシンボリック リンクに置き換えます。
  3. アプリはグループの Library/Caches パートについてコンテナ マネージャーのクエリ API を呼び出します。マネージャーはリンクをたどり、対象へのサンドボックス拡張を発行します。
  4. アプリは sandbox_extension_consume() で拡張を消費します。
  5. アプリは他のパスについてもクエリを繰り返します。pathleak が inode で他のアプリのコンテナ ディレクトリを列挙し、アプリはそれぞれの拡張を要求します。
  6. アプリはデータベース、書類、Cookie、設定などのファイルを読み取ります。WQ Files というファイル マネージャーのビルドは、開発者によると、そのデータの編集、削除、消去もできます。

脱出には jailbreak は不要で、カーネル エクスプロイトも使いません。コンテナ マネージャーがパスを許可する方法のロジック上の欠陥です。公開された概念実証は開発者向けに書かれていますが、他の開発者がそれを基にインストール可能なアプリを作っています。

Binance も研究者も攻撃や窃取を報告していません。Binance の警告はリスクのあるデータの種類を挙げており、侵害されたウォレットや被害者数ではありません。取引所は露出したウォレット アプリを名指ししておらず、研究者も名指ししていません。

攻撃の流れは?

サイドロードしたアプリがアプリ グループのキャッシュ ディレクトリをシンボリック リンクに置き換え、コンテナ マネージャーがリンク先へのサンドボックス拡張を発行し、アプリがその拡張を使って他のアプリのデータを読み取りまたは変更します。

flowchart LR A["アプリ グループを持つサイドロード アプリ"] --> B["Library/Caches をシンボリック リンクに置換"] B --> C["グループのキャッシュ パートをクエリ"] C --> D["解決パスがコンテナ内かの確認なし"] D --> E["対象へのサンドボックス拡張を発行"] E --> F["他のアプリのコンテナを読み書き可能"]

攻撃者に何ができますか?

端末に悪意のあるアプリをインストールさせた攻撃者は、他のアプリのコンテナ内のファイルと、iOS 27 の一部のシステム フォルダを読み取り、変更できます。セッション Cookie、書類、データベース、アプリがコンテナに保存する秘密が露出する可能性があります。

条件は影響の一部です。

  • 攻撃者は、被害者に App Store 外のアプリ、またはアプリ グループ コンテナを持つ悪意のあるアプリをインストールさせる必要があります。公開された概念実証はリモート インストールを示していません。
  • アプリは端末上で実行される必要があります。脱出はアプリ サンドボックス内のローカルなコード実行で、ネットワーク サービスではありません。
  • 範囲は他のアプリがコンテナに保存するデータです。Binance はシード フレーズ、秘密鍵、ログイン情報が露出する可能性があると警告しています。取引所は、それらを到達可能なパスに保存するウォレット アプリを特定していません。
  • 公開された概念実証は読み取りと列挙を行います。派生したファイル マネージャーは、開発者によると、データの編集、削除、消去も行います。
  • 攻撃や窃取は報告されておらず、App Store のアプリが脱出を使うことも確認されていません。

影響は iOS のアプリ データ保護によって制限されます。一部のファイルはデバイスのパスコードに結び付いた鍵で暗号化され、ロック中は読めません。公開資料は各ロック状態でどのファイルが読めるかを測定していないため、ロック中の端末がすべてのコンテナを保護すると仮定しないでください。

修正が機能する理由

修正が存在しないため、まだ何も脱出を閉じていません。不足しているチェックは、修正が追加すべきものです。要求されたパスを解決した後、コンテナ マネージャーはサンドボックス拡張を発行する前に、結果がアプリ グループ コンテナ内に留まることを確認する必要があります。

現在のコード パスは解決された対象を許可します。失敗する手順は、その対象をコンテナ ルートに対して検証することです。正しい実装はシンボリック リンクを解決し、正規化したパスをコンテナの正規化したルートと比較し、対象が外にある場合は要求を拒否します。チェックと使用の間にパスが変わる問題にも対処する必要があり、これがシンボリック リンクの生む競合です。

Apple は修正を公開していないため、このセクションで引用できるものはありません。概念実証のリポジトリとセキュリティ ノートが公開記録です。

侵害されたかどうかを確認するには?

侵害の指標は公開されていません。端末に何がインストールされているか、信頼できないアプリが実行された可能性があるかを確認します。

  • App Store 外でインストールされたアプリを一覧表示します。WQ Files、AltStore、SideStore、署名サービスのアプリ、および心当たりのないアプリを探します。
  • 設定、一般、VPN とデバイス管理で構成プロファイルを確認します。説明できないプロファイルを削除します。
  • 管理された端末群では、インストール済みアプリの一覧を管理カタログと比較し、カタログにないアプリをすべて記録します。
  • 信頼できないアプリが端末で実行された場合は、他のアプリのコンテナ内のデータが読まれた可能性があるものとします。端末で使ったアカウントのパスワードとセッション トークンを変更し、ウォレットの資金をクリーンなデバイスの新しいウォレットへ移します。
  • 調査が必要な場合は、消去する前に端末とログを保存します。iOS はアプリのファイル アクセス ログをほとんど保持しないため、記録がないことは脱出が使われなかった証拠ではありません。

年表

  • 2026-11-08: 研究者の forcequit が GitHub で worse_query の概念実証を公開します。
  • 2026-11-09: Apple が iOS 27.2.1 と iOS 26.7.3 を公開します。どちらのセキュリティ ノートにもサンドボックス脱出や worse_query の記載はありません。
  • 2026-11-10: Binance が脱出によりウォレットの秘密が露出する可能性があると警告し、The Hacker News がその警告を報じます。

公開された概念実証から取引所の警告まで 2 日
図 1: 概念実証は 11 月 8 日に登場し、Apple の更新は修正なしで 11 月 9 日に来て、Binance は 11 月 10 日に警告しました。出典: worse_query リポジトリと Apple のセキュリティ ノート、2026 年 11 月 10 日確認

よくある質問

worse_query に CVE はありますか?

いいえ。2026 年 11 月 10 日時点で CVE は割り当てられておらず、Apple はアドバイザリを公開していません。概念実証のリポジトリ、派生ツール、取引所の警告が公開記録です。

jailbreak は必要ですか?

いいえ。脱出はコンテナ マネージャーの非公開クエリ インターフェースとシンボリック リンクを使います。カーネル エクスプロイトは使わず、研究者は jailbreak には関係しないと述べています。

App Store のアプリも使えますか?

確認されていません。概念実証にはアプリ グループ コンテナが必要で、App Store のアプリも適切な entitlement があれば持てます。関係者の誰も、App Store のアプリが脆弱なパスに到達できるか述べておらず、App Store のアプリも名指しされていません。未解決の問題として扱ってください。

どの iOS バージョンが影響を受けますか?

概念実証の README は iOS 26.0 から 26.7.2 と iOS 27.2 を挙げています。派生ツールは iOS 27.2.1 を挙げ、公開情報で iOS 26.7.3 を挙げたものはありません。Apple は範囲を確認していません。

現実の攻撃で悪用されていますか?

2026 年 11 月 10 日時点で攻撃や窃取は報告されていません。Binance はリスクを警告し、侵害を疑う場合は信頼できないアプリを削除して資金を移すよう求めました。警告は被害者の報告ではありません。

iOS 27.2.1 または 26.7.3 に更新すれば修正されますか?

いいえ。Apple は 2026 年 11 月 9 日に両方を公開し、セキュリティ ノートには他の修正が記載され、サンドボックス脱出はありません。更新で閉じると仮定する前に、それ以降のリリースの Apple のノートを確認してください。

参考資料

  • forcequitOS/worse_query リポジトリ、「A sandbox escape for iOS 26 and 27, again」、2026 年 11 月 8 日作成、README のバージョン範囲、アクセス可能なパス、概念実証のソース: https://github.com/forcequitOS/worse_query (2026 年 11 月 10 日確認)
  • 概念実証の実装 worse_query/worse_query.m、アプリ グループ クエリ、シンボリック リンク、サンドボックス拡張の消費: https://github.com/forcequitOS/worse_query/blob/main/worse_query/worse_query.m (2026 年 11 月 10 日確認)
  • パス列挙ツール worse_query/pathleak.m: https://github.com/forcequitOS/worse_query/blob/main/worse_query/pathleak.m (2026 年 11 月 10 日確認)
  • Apple「About the security content of iOS 27.2.1 and iPadOS 27.2.1」、2026 年 11 月 9 日公開、サンドボックスと worse_query の記載なし: https://support.apple.com/en-us/149715 (2026 年 11 月 10 日確認)
  • Apple「About the security content of iOS 26.7.3 and iPadOS 26.7.3」、2026 年 11 月 9 日公開、サンドボックスと worse_query の記載なし: https://support.apple.com/en-us/149716 (2026 年 11 月 10 日確認)
  • The Hacker News「Binance Warns of iOS Sandbox Escape That Could Expose Crypto Wallet Keys, No Fix Confirmed」、2026 年 11 月 10 日、Binance の助言と研究者の発言: https://thehackernews.com/2026/11/binance-warns-of-ios-sandbox-escape.html (2026 年 11 月 10 日確認)