はじめに
OnePlus製スマートフォンのAndroidベースOSであるOxygenOSに、未パッチの重大な脆弱性(CVE-2025-10184)が発見されました。この脆弱性により、インストールされているあらゆるアプリが、ユーザーの許可や操作なしにSMSデータおよびメタデータにアクセスできる可能性があります。セキュリティ企業Rapid7の研究者によって発見されたこの欠陥は、OnePlusがRapid7からの開示に長期間応答しなかったため、技術的な詳細と概念実証(PoC)エクスプロイトが公開されました。
脆弱性の詳細
この問題は、OnePlusが標準のAndroid Telephonyパッケージを改変し、PushMessageProvider、PushShopProvider、ServiceNumberProviderといった追加のエクスポートされたコンテンツプロバイダを導入したことに起因します。これらのプロバイダのマニフェストが「READ_SMS」に対する書き込み権限を宣言していないため、SMS権限を持たないアプリであっても、デフォルトでアクセスが可能になっています。
さらに深刻なことに、クライアントから提供される入力がサニタイズされていないため、「ブラインドSQLインジェクション」が可能となり、デバイスのデータベースからSMSコンテンツを文字ごとにブルートフォースで再構築できるとRapid7は報告しています。SQLインジェクションが成功するためには、以下の前提条件が満たされる必要があります。
- 公開されているテーブルに少なくとも1つの行が既に存在し、
update()
がゼロ以外の「変更された行数」を返すことができること。 - テーブルが空の場合、攻撃者が操作するためのダミー行を作成できるよう、プロバイダが
insert()
を許可していること。 - 注入されるサブクエリが参照できるように、SMSテーブルが同じSQLiteデータベースファイル内にあること。
影響範囲とOnePlusの対応
この脆弱性は、OxygenOSのバージョン12から最新の15までの全てに影響を与えます。Rapid7の研究者は、OnePlus 8Tおよび10 Proで様々なOxygenOSバージョンとTelephonyパッケージ番号を用いて脆弱性をテストし、確認しました。この問題はAndroidのコアコンポーネントに影響するため、上記のOxygenOSバージョンを実行している他のOnePlusデバイスにも影響が及ぶと予想されています。
Rapid7は5月1日にOnePlusに調査結果を共有しようと試み、8月16日まで複数回フォローアップを行いましたが、応答がなかったため、CVE-2025-10184の詳細を公表しました。公開後まもなく、OnePlusはこの開示を認め、問題の調査を開始したと述べました。OnePlusの広報担当者は、「CVE-2025-10184の最近の開示を認識しており、修正を実装しました。これは10月中旬からソフトウェアアップデートを通じてグローバルに展開されます。」と発表しています。
推奨される対策
パッチが利用可能になるまでの間、OnePlusデバイスのユーザーは以下の対策を講じることが推奨されます。
- インストールするアプリの数を最小限に抑える。
- 信頼できる発行元からのアプリのみをインストールする。
- SMSベースの二要素認証(2FA)から、Google AuthenticatorのようなOTP(ワンタイムパスワード)アプリに切り替える。
- SMSがOnePlusデバイス上で適切に隔離されていないため、機密性の高い通信にはエンドツーエンド暗号化されたアプリのみを使用する。