Cardano のモバイルウォレット VESPR は日本時間 11 月 11 日未明、iPhone の脆弱性「worse_query」について、VESPR のリカバリーフレーズ (ウォレットを復元するための単語の列) は読み取られないと X で説明しました。前日の夕方に Binance が、この脆弱性で悪意のあるアプリが他のアプリのファイルを読めるようになり、シードフレーズや秘密鍵が危険にさらされると警告しており、それを受けた案内です。
守れるかどうかを分けるのは、ウォレットのアプリが秘密の情報を端末のどこに置いているかです。この記事では、Binance の警告と公開された検証コード、VESPR の説明を突き合わせ、Cardano のウォレットを iPhone で使っている方が今日確かめられることを整理します。
Binance の警告: 他のアプリのファイルが読める
Binance は 11 月 10 日の投稿で、worse_query の影響を受けるのは iOS 26.7.1、27.0.1、27.2 だと名指ししました。悪意のあるアプリが他のアプリのローカルファイルを読めるようになり、シードフレーズや秘密鍵、ログイン情報が危険にさらされるという内容です。あわせて、これは iOS 自体の問題であり Binance に固有のものではないと書いています。
呼びかけた対策は 3 つです。
- 信頼できない入手元のアプリ (サイドロードしたものや、手動で署名した IPA ファイル) を削除する
- iOS とすべてのアプリを公式の最新版に更新する
- 侵害が疑われるときは、安全な端末で新しく作ったウォレットへ資金を移し、ログイン中のセッションをすべて切る
一方、GitHub で公開されている worse_query の検証コードの説明文は、対象を「iOS 26.0〜26.7.2 と 27.2」と書いています。Binance が挙げた版と範囲の書き方が違うため、自分の iPhone の版がどちらかに当てはまるかどうかで迷う場合は、両方の範囲を目安にしておくのが確実です。検証コードの説明によれば、これは開発者向けの検証用のもので、App Group と呼ばれるアプリ間の共有領域の設定を使い、他のアプリのデータが入ったフォルダを読む仕組みです。
VESPR の説明: フレーズは暗号化し、鍵はキーチェーンに
VESPR は 2 本の投稿で説明しています。1 本目で「VESPR のリカバリーフレーズは露出しない」と伝え、続く投稿でその理由を書いています。
The exploit lets a malicious app copy other apps’ files. In VESPR the recovery phrase is encrypted, and the key lives in the iOS Keychain, which the exploit can’t reach.
この攻撃は悪意のあるアプリに他のアプリのファイルを写し取らせるものだが、VESPR ではリカバリーフレーズは暗号化されており、その鍵は iOS のキーチェーンにあって、攻撃はそこに届かない、という説明です。ファイルを丸ごと写されても、中身を開く鍵がファイルの外にあれば読めない、という考え方です。
そのうえで VESPR は、iOS を 27.2.1 か 26.7.3 に更新することと、サイドロードしたアプリを削除することを、引き続きやっておくべきこととして挙げています。
更新しても安心と言い切れない理由
Apple は 11 月 9 日に iOS 27.2.1 と 26.7.3 を公開しています。ただ、Apple のセキュリティ情報のページを見ると、27.2.1 で直した 9 件の項目は Bluetooth や AirPlay、メッセージなどに関するもので、worse_query の名前も、アプリが他のアプリのファイルを読める問題を直したという記述もありません。Cardano のウォレット Begin も同じ点に触れ、Apple は 27.2.1 でこの問題が直るとは言っていないが、それでも更新し、アプリは App Store からだけ入れるように呼びかけています。
つまり現時点では、更新は「やっておくべきこと」ではあっても、それだけで守られるとは確認できていません。効くのは、悪意のあるアプリをそもそも入れないことと、ウォレットが秘密の情報をファイルのまま置いていないことの 2 つです。
VESPR 以外のウォレットがどう保存しているかは、それぞれの公式の案内を見て確かめることになります。iPhone で Cardano のウォレットを使っている方が今日できることは、次の 3 つです。
- 設定アプリで iOS の版を確かめ、27.2.1 か 26.7.3 になっていなければ更新する
- App Store 以外から入れたアプリが残っていないか見直し、あれば削除する
- 使っているウォレットの公式 X やサポートページで、worse_query についての案内が出ているか確かめる
確認できる次の一点は、Apple のセキュリティアップデートの一覧 (support.apple.com のセキュリティリリースのページ) に、worse_query に当たる修正が載るかどうかです。次の iOS の更新が出たら、その版のセキュリティ情報に、アプリ間のファイルの読み取りやサンドボックスに関する項目があるかを見てください。
ことば
- サンドボックス — iPhone のアプリをそれぞれ別の区画に閉じ込め、他のアプリのデータを読めなくする仕組み。worse_query はこの区画の外へ出る「サンドボックス脱出」として公開されました。
- キーチェーン — iOS がパスワードや暗号の鍵を保管する専用の場所。アプリのファイルとは別に守られているので、VESPR はフレーズの暗号を解く鍵をここに置いていると説明しています。
- サイドロード — App Store を通さずにアプリを入れること。審査を経ないため、今回のような脆弱性を突くアプリが入り込む入口になりやすく、Binance も VESPR もまず削除を勧めています。
一次ソース / 関連リンク
- VESPR 公式 X の告知 (リカバリーフレーズは露出しない)
https://x.com/vesprwallet/status/2120216166430023756 - VESPR 公式 X の続く投稿 (暗号化とキーチェーンの説明)
https://x.com/vesprwallet/status/2120216178358694309 - Binance 公式 X の警告
https://x.com/binance/status/2120093246399430770
GitHub
Apple セキュリティリリース一覧(Apple Support)
iOS 27.2.1 / iPadOS 27.2.1 のセキュリティコンテンツ (Apple)(Apple Support)
- Begin Wallet 公式 X の案内
https://x.com/BeginWallet/status/2120147242808234210
