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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ColorOS-CVE-2025-10184 — ColorOS SMS脆弱性、およびユーザー向け自己救済策 | Kitploit
ツール/GitHubGitHub/yuuouu/coloros-cve-2025-10184
Androidセキュリティ脆弱性分析エクスプロイトデータ流出ペネトレーションテストモバイルセキュリティ学習と教育データベースセキュリティラボと実践Archived
GitHubyuuouu/coloros-cve-2025-10184

ColorOS-CVE-2025-10184

ColorOS SMS脆弱性、およびユーザー向け自己救済策

38642910ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
リポジトリを見る

情報源
脆弱性の原理と解決策の技術的解説

脆弱性の説明

  • タイプ:データベースインジェクション攻撃1=1 AND
  • 影響:任意のアプリがSMSデータを読み取る。権限不要、ユーザー操作不要、気付かれずに読み取り
  • 影響範囲:端末上のすべてのSMS情報、SMS認証コードの漏洩
  • 対象:OPPOおよびそのサブブランド(OnePlus、realme)
  • 影響範囲:maoyixuan が提出した端末モデルによると、2017年にリリースされたColorOS 6.0.1に脆弱性が存在し、この脆弱性はOPPOのOEMの歴史に長く付きまとった可能性がある
  • 修正状況:10月4日よりColorOS 15にシステムファイル更新をプッシュ開始:15.0.0.860Patch01|1.9MB、10月9日よりColorOS 12-14にプッシュ
  • 脆弱性テスト:国内ダウンロード yuu_v3.6.apk、SMS本文が表示されれば脆弱性あり。テストアプリにはネットワーク接続機能はありません。OPPOはパッケージ名の一致でリスクアプリと判定するため、オフラインでインストールしてください。疑わしい場合はソースコードを確認し、テスト後速やかにアンインストールしてください。
  • 一般ユーザー向け防御策:
    1. メーカーが脆弱性を修正するまで、SIMカードを他社ブランドの端末に挿入して使用する
    2. 端末上のSMSはすぐに削除し、完全に削除する。SMSがユーザープロファイリングに使用されるのを防ぐ
    3. Android仮想マシンやクラウドフォンでアプリをインストールする
    4. SMS認証コードを使用する際は、バックグラウンドアプリが動作していないことを確認する
  • 自己解決策:rootなしの自己解決策とroot安定ブロック方法

修正状況の更新(10月4日)

@C およびその他の熱心なユーザーより、更新前に Cross Profile Test App を無効にしてください。無効にしないとインストールが0.0%で止まります。

修正がプッシュされ始めたことを確認、10月4日午前よりプッシュ開始

  • システムバージョン:ColorOS 15.0.0、15.0.1、15.0.2
  • 実際の内容:com.android.providers.telephony 15.40.10 (35)
  • 更新パス:設定 → システムと更新 → ソフトウェア更新 → 自動更新設定 → システムファイル更新
  • システムファイル:15.0.0.860Patch01|1.9MB、端末によって異なるため、実際のプッシュに従ってください
  • 修正効果:

強制更新

15.0.0.860Patch01|1.9MB プッシュパッケージの 電話_短信保存_15.40.10.apkはColorOS 15.0.0、15.0.1、15.0.2のみ対応、プッシュパッケージの詳細 情報源 Telegram @SnowWolf725

ダウンロード 電話_短信保存.apk、注意:システムバージョンに合わせてください
adbコマンドを使用:adb install -t D:\xxx.apk
インストール成功後、端末を再起動して反映。エラーが発生した場合は、インストールしたバージョンをアンインストールしてください。

脆弱性の効果

プライバシーデータをモザイク処理して Issues にアップロード可能

一般ユーザー向け自己解決策

方法1:SMS迷惑メールブロックを使用(汎用方法)

v2ex@CoolMarket より
SMS迷惑メールブロックを有効にし、すべての番号をブロックすると、SMSは迷惑メールフォルダに格納され、テストアプリではSMSを読み取れなくなる

パス:SMS → 迷惑メールブロック → ブロックルール → メッセージブロック → カスタムブロックキーワード → 右上の➕ボタン → 以下の内容を1行ずつコピーして入力

root@kitploit:~
0,1,2,3,4,5,6,7,8,9
#,*,+,@,.,【,(,(,,
-,/,!,码,中,余,元,退,
a,b,c,d,e,f,g,h,i,j,
k,l,m,n,o,p,q,r,s,t,
u,v,w,x,y,z,A,B,C,D,
E,F,G,H,I,J,K,L,M,N,
O,P,Q,R,S,T,U,V,W,X,
Y,Z,零,一,二,三,四,五,六,
七,八,九,十,百,千,万

確認:新しいSMSを受信(10086にメッセージを送信)、受信後、迷惑メールブロックにブロックされたメッセージが表示される。その後テストツールを開き、そのメッセージが表示されないことを確認。表示されなければこの方法は有効。

この方法が最も簡単。古い端末ではこの方法を優先してください

方法2:Shizukuを使用した変更

v2ex@Dawnnnnnn の提案に基づき改良。⚠️システム内容の変更にはリスクがあります!すべての端末で動作するわけではありません。

  1. Shizuku と Blocker をダウンロード(インストールできない場合はオフラインでインストール)。
  2. チュートリアルに従ってワイヤレスデバッグでShizukuを起動
  3. Blocker 設定で コントローラータイプ を Shizuku/Sui に変更、Shizuku に Blocker の権限を許可
  4. Blocker 設定で システムアプリを表示 をオン
  5. Blocker で telephony を検索、電話/短信保存 アプリを開く
  6. コンテンツプロバイダ を選択し、PushMessageProvider、PushShopProvider、 の3つのオプションをオフにする

効果がない場合の説明

com.android.providers.telephony 内の AndroidManifest.xml に android:testOnly="true" 属性が存在する場合のみ変更が有効になります。詳細はこちら)

root ブロック方法

rootなしでは、システム分身、マルチユーザー、Shelterワークアカウントでもこの脆弱性をブロックできませんでした。
root方法については ColorOS ファームウェア書き換え手順 を参照してください。

方法1:xposedモジュールを使用

テストパッケージにはモジュール内容が含まれており、この脆弱性を呼び出すアプリをキャプチャし、ブロック結果をポップアップで表示し記録します。「電話/短信保存」アプリのみをチェックし、ログパスを保存します /storage/emulated/0/Android/data/com.android.providers.telephony/files/yuu.log
発見した場合は Issues または Telegramで報告 してください。

方法2:Provider の無効化

v2ex@Dawnnnnnn より

  1. Blocker をダウンロードしてインストール
  2. 設定で システムアプリを表示 をオン
  3. telephony を検索し、電話/短信保存 を開く
  4. コンテンツプロバイダ を選択し、PushMessageProvider、PushShopProvider、ServiceNumberProvider の3つのオプションをオフにする
  5. 注意⚠️:再起動後、SMSを受信できなくなります(送信は可能)。上記の3つのオプションを再度有効にしてから再起動しないと、正常にSMSを受信できません。SMSの送受信を確認したら3つのオプションを再度オフにすると、ブロック効果と正常な送受信の両方が維持され、次回再起動まで持続します。

方法3:データベースファイルの読み取り制限

酷安 @kkkkkcc より

  1. MTマネージャー を開き、ディレクトリ /data/data/com.android.providers.telephony/databases/ に移動
  2. 読み取り権限を無効化:mmssms.db を長押し → プロパティ → 権限変更 → 読み取り権限を削除(所有者とグループを含む)
  3. SMSの送信ができなくなります。自己責任でテストしてください。

開示タイムライン

root@kitploit:~
2025年5月1日:Rapid7がメールでOnePlus Security Response Center (OneSRC) に連絡し、脆弱性開示に関するコミュニケーションを依頼。返答なし。
2025年5月6日:Rapid7が再度メールでOneSRCに連絡。返答なし。
2025年7月2日:Rapid7がOnePlusカスタマーサポートチームとOneSRCの両方にメールで連絡。
2025年7月3日:OnePlusサポートが返信し、内部の関連チームにRapid7のリクエストを転送すると述べ、その後詳細情報を求める連絡。その後、それ以降の返信なし。
2025年7月10日:Rapid7がOnePlusサポートにフォローアップを依頼。返答なし。
2025年7月22日:Rapid7がOneSRCのX(旧Twitter)アカウントにダイレクトメッセージを送信し、脆弱性開示のためのコミュニケーションチャネルを要求。応答なし。
2025年8月16日:Rapid7がOnePlusと取引のあるOPPO CNA担当者に連絡し、OneSRCチームの紹介を依頼。応答なし。
2025年9月23日:Rapid7がOnePlusを応答なしのベンダーと判断し、本開示ブログ記事を通じてCVE-2025-10184を公開。
2025年9月24日:研究公開後、OnePlusがRapid7に返信し、開示情報を受け取ったことを確認し、調査中であると回答。
2025年10月4日:メーカーがColorOS 15の一部端末向けに脆弱性修正パッチパッケージ860Patchのプッシュを開始(リポジトリで補足)。

脆弱性呼び出しフィールドの意味

SELECT address FROM sms ORDER BY rowid DESC LIMIT 3

  • LIMIT 3:最新の 3 件
  • body:SMS本文。以下の任意のフィールドに変更可能
ツールをダウンロード
ServiceNumberProvider
  • ⚠️注意:ここで設定完了。効果は次回再起動まで持続。再起動後はSMSを受信できなくなります(送信は可能)。上記の3つのオプションを再度有効にしてから再起動しないと、正常にSMSを受信できません。SMSの送受信を確認したら3つのオプションを再度オフにすると、ブロック効果と正常な送受信の両方が維持され、次回再起動まで持続します。
  • フィールド名意味
    _id主キー、自動増分ID
    thread_idスレッドID、どの会話スレッドに属するか
    addressSMS送信元または宛先番号
    person連絡先ID(Contacts テーブルに対応する可能性あり)
    date受信/送信時間(ミリ秒タイムスタンプ)
    date_sent実際の送信時間(送信SMSに有効)
    protocolプロトコル:0=SMS, 1=MMS
    read既読かどうか(0=未読, 1=既読)
    status送信状態(-1=受信, 0=成功, 64=送信待ちなど)
    入力(原文ママ?フィールド名のはず。原文が"输入"とあるがおそらく"type"の誤訳?そのまま"type"とすべき?しかし原文テーブルの左列はフィールド名なので、"输入"はおそらく"type"の誤り。しかし翻訳指示に従い自然言語のみ翻訳、コードやテーブルのフィールド名は翻訳しない。原文が"输入"なのでそのまま"输入"とするか、日本語として"入力"?フィールド名は翻訳しないルールだが、この"输入"がフィールド名?テーブルの左列はすべてフィールド名だが、"输入"というフィールド名はおかしい。原文の誤りかもしれないが、指示に従い翻訳しない。しかし日本語で表記する必要がある?フィールド名はコードに影響するが、テーブル内の説明ではないテーブル内の説明?テーブル右列が意味説明、左列がフィールド名。左列はそのまま維持。但し"输入"は翻訳不要。従って"输入"のまま。しかし日本語で不自然。指示では「コード、コマンド、パス等は翻訳しない」とあるが、テーブルの左列はフィールド名なのでコードとみなす。よってそのまま。ただし原文が中文なのでそのままコピーする?指示は「NEVER translate: code blocks, ... technical identifiers」とあり、フィールド名は技術的識別子。よって翻訳せずそのまま出力する。しかし"输入"は普通の漢字なので、翻訳対象言語が日本語の場合、中国語のまま表示されるのは良くない?しかしルールに従う。問題があればユーザーが調整するはず。念のためそのまま。
    reply_path_present返信パスが設定されているか
    subjectSMS件名(MMSの場合あり)
    bodySMS本文
    service_centerサービスセンタ番号 (SMSC)
    lockedロックされているか(システムによる削除防止)
    sub_id使用中のSIMカードID
    phone_id端末のSIMスロットID
    error_code送信エラーコード
    creatorこのSMSを作成したアプリのパッケージ名
    seen画面に表示されたか(0/1)
    prioritySMS優先度(メーカー/IMS拡張)
    m_sizeメッセージサイズ(主にMMS)
    oplus_draftsOplus カスタム:下書きマーク
    oplus_massOplus カスタム:一括送信マーク
    oplus_timerOplus カスタム:予約送信マーク
    oplus_groupaddressOplus カスタム:グループアドレス
    oplus_collectedOplus カスタム:お気に入りステータス
    oplus_sub_dateOplus カスタム:購読/タイムスタンプ
    oplus_service_message_sms_typeOplus カスタム:サービスSMSタイプ
    bubbleバブル表示かどうか(一部UI機能)
    deleted削除マーク(0/1)
    sync_state同期状態(クラウド/バックアップ関連)
    sync_id同期用ユニークID
    oplus_message_urlOplus カスタム:メッセージ内のURL
    oplus_sms_typeOplus カスタム:SMSタイプ拡張
    block_typeブロックタイプ(迷惑メール/スパムブロック)
    favouriteお気に入りマーク
    rcs_message_idRCS メッセージID
    rcs_file_nameRCS 添付ファイル名
    rcs_mime_typeRCS 添付ファイルのMIMEタイプ
    rcs_msg_typeRCS メッセージタイプ(テキスト/ファイル/位置情報など)
    rcs_msg_stateRCS メッセージ状態(既読/配信済み/送信中など)
    rcs_chat_typeRCS チャットタイプ(1対1/グループ)
    rcs_conversation_idRCS 会話ID
    rcs_contribution_idRCS メッセージ貢献ID
    rcs_file_selectorRCS ファイルセレクタマーク
    rcs_file_transferedRCS ファイル転送完了フラグ
    rcs_file_transfer_idRCS ファイル転送ID
    rcs_file_iconRCS ファイルアイコンパス
    rcs_burnRCS 消えるメッセージフラグ
    rcs_headerRCS メッセージヘッダ情報
    rcs_file_pathRCS ファイルパス
    rcs_is_downloadRCS ファイルダウンロード済みか
    rcs_file_sizeRCS ファイルサイズ
    rcs_thumb_pathRCS サムネイルパス
    rcs_extend_bodyRCS 拡張メッセージボディ(JSON/XML等)
    rcs_media_playedRCS メディア再生済みフラグ
    rcs_ext_contactRCS 拡張連絡先情報
    rcs_file_recordRCS ファイル転送記録
    rcs_transfer_dateRCS ファイル転送時間
    rcs_group_at_remindsRCS グループ @メンションリマインダー
    rcs_audio_readRCS 音声既読状態