Androidの「SMS of Death」脆弱性、通話切断や端末の再起動ループを引き起こす恐れ

読了時間:約11分
Android SMS of Death Flaw Can Drop Calls and Trap Phones in Repeated Crashes

目に見えないメッセージが通話を中断させる

わずか8バイトの細工されたテキストメッセージが、脆弱なAndroid端末の通話サービスをクラッシュさせ、通話中の回線を切断する可能性がある。さらに、繰り返し届くと、端末が正常に起動しにくくなることもある。セキュリティ研究者のマーク・ブラスチック氏は2026年10月29日にこの欠陥を公表した。最初にGoogleへ報告したのは5月5日だった。

目次
  1. 目に見えないメッセージが通話を中断させる
  2. メッセージが受信トレイに届かない理由
  3. 大きな数値が負の長さに変わる
  4. 短い停止が繰り返しの障害に変わる仕組み
  5. 復旧画面がデータ消失を意味する場合
  6. 注意が必要なAndroidのバージョン
  7. 報告への対応とは別の経路で修正
  8. 修正の内容
  9. 端末所有者が今できること
  10. 要点

「SMS of Death(死のSMS)」と呼ばれ、セキュリティ関連の報道でCVE-2026-58882として特定されたこの脆弱性は、メッセージアプリに届く前に特定の受信メッセージを処理するソフトウェアに影響する。受信者が何かを開いたり、アプリをインストールしたり、リンクをタップしたりする必要はない。ブラスチック氏によると、悪意あるメッセージは受信トレイにも通知にも表示されない。

ブラスチック氏は、2026年4月のファームウェアを搭載したGoogle Pixel 9と、Galaxy Aシリーズの機種を含む複数のSamsung Galaxy端末で問題を再現した。これらの端末では、すべてのテストで再現に成功したという。メッセージが1通届いただけで、Androidが通話プロセスを再起動する間、携帯電話サービスが約1~2秒中断した。

独立系セキュリティ研究者のブラスチック氏は、電話機能を担うAndroidプロセスへの直接的な影響について、次のように説明した。

不正な形式のWAP Push SMSが1通届くと、Androidのcom.android.phoneがクラッシュして、被害者が何も操作しなくても通話中の回線(緊急通報を含む)が切断される

テスト環境以外での攻撃は報告されておらず、緊急サービスへの影響に関する警告は研究者の評価に基づく。影響を受ける端末、携帯電話ネットワーク、国の完全な一覧は公表されていない。懸念されるのは、短時間のサービス中断でも会話が途切れる可能性があり、中断が繰り返されれば、助けが必要なときに接続を維持できなくなる恐れがあることだ。

広告

メッセージが受信トレイに届かない理由

Androidは、携帯電話ネットワーク経由でデータや指示を配信する旧式の仕組みであるWAP Pushを通じて、悪意あるコンテンツを受信する。正当な用途には、携帯電話にマルチメディアメッセージを取得させたり、通信事業者の設定を適用させたりすることがある。人が読むために書かれた通常のテキストメッセージとは異なり、この種のメッセージはシステムソフトウェアによって自動的に処理される。

Androidでは、WapPushOverSmsコンポーネントがこの処理を担う。欠陥はデコード関数の内部で発生する。端末がメッセージの一部の長さを示す情報を読み取る際に問題が起きる。通常のメッセージ処理が完了する前に通話サービスでエラーが発生するため、受信者には確認したり削除したりできるテキストが表示されない。

そのため、この攻撃は、メッセージが不審に見えるかどうかを人が判断する通常の段階を迂回する。知らない送信者を無視したり、リンクを開かないようにしたりしても、自動処理中に引き起こされる障害にはほとんど効果がない。防御は主に、メッセージを処理するオペレーティングシステムのコンポーネントを修正することにかかっている。

大きな数値が負の長さに変わる

ブラスチック氏は、数値変換のエラーがクラッシュの原因だと突き止めた。Androidはメッセージヘッダーの長さを、大きな数値を扱えるデータ型で読み取った後、その値が範囲内に収まるか確認せずに、32ビットの符号付き整数へ変換する。

説明されたテストでは、値の2,147,483,648が変換時にマイナス2,147,483,648となる。この大きさの符号付き整数で扱える正の数は、2,147,483,647までだ。細工された値は、その上限をわずかに超えている。

Androidはその後、負の長さを使ってデータ領域を確保しようとする。この処理で負のサイズは意味をなさないため、ソフトウェアはNegativeArraySizeExceptionというエラーを発生させる。エラーが適切に処理されず、com.android.phoneが終了する。

8バイトのメッセージには、問題の長さ情報を指定する5バイトの並びが含まれている。メッセージが小さいことは、欠陥の深刻さを示す一因だ。ごく小さな受信メッセージでも、中心的なシステムプロセスが解釈中に失敗すれば、はるかに大きな障害を引き起こし得る。

広告

短い停止が繰り返しの障害に変わる仕組み

携帯電話ネットワークでは通常、メッセージを受信した端末から確認応答が返ることを想定している。Androidがそのやり取りを完了する前にクラッシュすると、通信事業者が再配信を試みる場合がある。そのため、テキストメッセージの信頼性を高めるための仕組みが、同じ有害なコンテンツを端末に再び届けることになり得る。

Androidは受信メッセージを処理する間、保留キューにも保存する。ブラスチック氏によると、不正なメッセージがキューに残り、再起動後に再び処理されると、同じクラッシュが繰り返される可能性がある。

ブラスチック氏は、端末を再起動しても障害が収まらない理由を次のように説明した。

不正なメッセージはキューに残り、起動のたびに再試行される。そのため、削除されるまで起動時に端末がクラッシュすることがある

ブラスチック氏は、約20通のメッセージで端末が長時間使用不能になる可能性があると警告した。またテストでは、約30通が短時間に届いた後、より継続的な障害が起きたと説明されている。これらはテスト条件を示す数字であり、すべての端末で同じ不具合が起きる正確な閾値ではない。

研究者は、長引く障害の一部は、受信SMSデータの保存に使われるSQLiteデータベースの破損が原因だとした。SQLiteは、アプリやオペレーティングシステムが構造化された記録を保持するために使う小規模なデータベースシステムだ。起動時に必要な記録が繰り返し障害を引き起こすと、端末が復旧を試みるたびに通話サービスがクラッシュする可能性がある。

テストでは、通信事業者による再配信のため、通話に断続的な支障が最長1週間続いた。悪意あるメッセージが1通だけでも支障が起きたとされる。通信事業者側で保留されたメッセージと端末内に保存された記録が重なることで、最初の受信後も影響が続く理由を説明できる。

復旧画面がデータ消失を意味する場合

Androidには、RescuePartyという自動復旧機能がある。重要なコンポーネントの障害が続くと、復旧を試み、約90秒後に端末をリカバリーモードへ移行させることがある。その際、ユーザーにデータ消去の選択肢が表示される場合がある。

工場出荷時設定へのリセットを行うと、端末内のデータと設定が消去される。ブラスチック氏によると、テストではリセットしても一時的な解決にしかならなかった。通信事業者が確認応答待ちのメッセージを後から再配信する可能性があるためだ。端末のデータを消去しても、個人情報を失ったうえでクラッシュが再発する恐れがある。

広告

ブラスチック氏は、開発や保守のためにコンピューターからAndroid端末へ接続するツール、Android Debug Bridge(ADB)を使った復旧方法を説明した。この手順では、端末を操作できる短い時間のうちに、影響を受けたSMSの記録を消去する。

ADBによる復旧には技術的な操作が必要で、多くの端末所有者は事前に必要な接続設定をしていないだろう。研究者の復旧方法には、保留中のメッセージを受信して確認応答できるよう、物理SIMをAndroid以外の端末へ移す作業も含まれていた。モバイル契約がeSIMの場合、復旧はさらに難しくなる可能性があると同氏は警告した。

クラッシュが繰り返されている場合、データ消去を選択する前に、専門知識のある技術者へ相談することが重要だ。報告された復旧作業ではシステム記録やアクセス設定を扱うため、通常のテキストメッセージを削除するよりも複雑になる。

注意が必要なAndroidのバージョン

技術的な報告で主に影響が指摘されているのは、Android 12からAndroid 16までだ。一部の報告ではAndroid 17まで含まれる。テストで具体的に挙げられたのはPixelとSamsung Galaxyの端末だが、問題がAndroidの共通テレフォニーコードにあるため、影響範囲はより広いとみられている。

報告された2026年10月の修正は、Android 14からAndroid 17までを対象としている。Android 12やAndroid 13を使い続けている端末は、サポート面で特に懸念がある。これらのバージョンはGoogleの現在のセキュリティサポート対象外とされており、所有者はメーカーなどのOS提供元が修正を提供するかどうかに頼ることになる。

Androidのバージョンとセキュリティアップデートの状況は、異なる情報を示す。バージョンはオペレーティングシステムの世代を示し、セキュリティアップデート情報は脆弱性がどれほど最近修正されたかを確認する手がかりとなる。同じAndroidバージョンを搭載した端末でも、修正を受け取る時期は異なる場合がある。

個々の機種にアップデートが届く時期は、メーカーや通信事業者の影響を受ける。端末の設定でセキュリティアップデートの日付を確認しよう。通常は「デバイス情報」「セキュリティ」または「ソフトウェアアップデート」にある。利用可能な最新アップデートをインストールすることも重要だ。この脆弱性については、報告された修正が2026年10月のアップデートに含まれるとされているが、配信時期が不明な場合はメーカーによる機種別の確認が役立つ。

広告

報告への対応とは別の経路で修正

ブラスチック氏によると、Googleは当初、この報告をセキュリティ上の問題ではないと判断し、同氏が求めた対応に同意しないまま終了扱いにした。公表された経緯では、その後も異議申し立てが続き、10月29日に再び非セキュリティ案件と分類された。一方で、Androidのエンジニアは修正を進めていた。

報告された経緯では、研究者の申し立てへの対応と、Androidの開発・アップデートの仕組みを通じたコードの反映は、別々に進んでいた。

  • 2026年5月5日:ブラスチック氏がGoogleに脆弱性を初めて報告。
  • 6月15日:Googleがメッセージ処理の障害を修正するためのエンジニアリング対応を作成。
  • 7月:GrapheneOSはセキュリティプレビューを通じてパッチを受け取り、同月中に実装したと発表。
  • 8月5日:修正がGoogleの開発プロセスに登録されたと報じられる。
  • 10月:変更がAndroid Open Source Projectで公開され、Android 14からAndroid 17のアップデートに含まれる。
  • 10月29日:ブラスチック氏が調査結果を公表。
  • 11月:脆弱性がAndroidのセキュリティ情報に掲載される見通しだとGrapheneOSが発表。

GrapheneOSは、社内の連絡上の問題がGoogleの報告対応を説明する可能性があると示唆した。これは同OSプロジェクトの開発者による推測だ。ここで示された経緯には、却下された申し立てと、クラッシュを防ぐためのエンジニアリング上の変更の両方が含まれている。

次に公表される予定の節目は11月のセキュリティ情報だった。GrapheneOSは7月にすでに修正を実装したとしており、その後のセキュリティ情報の日付は、パッチの初回適用ではなく、セキュリティ文書の公開に関するものだった。

修正の内容

Googleが修正したと報じられている内容は、例外処理を拡張し、Androidが実行時エラーを捕捉して、不正なメッセージを保留キューから削除できるようにするものだ。これにより、問題の記録で繰り返しクラッシュするのではなく、その先の処理を続けられる。

ブラスチック氏は、変換前にヘッダーで指定された長さが妥当か確認する方法を提案していた。報告されたエンジニアリング上の対応は、エラーを処理し、原因となるメッセージを削除するものだ。実際には、この記録を削除することで、1回の配信が継続的なサービス障害に発展する原因となる再処理にも対処できる。

この修正は、不正なメッセージを検出した時点で処理するものと説明されている。テストで言及された約20通という数は、障害が繰り返された場合の深刻さに関するものであり、修正が効くまでに必要なメッセージ数ではない。

広告

修正がAndroid Open Source Projectに掲載されると、基盤となるコードをAndroidソフトウェアに取り込めるようになる。ただし、個々の所有者に届くには、その端末向けの適切なアップデートが作成され、配信される必要がある。Googleがコードを修正したと知るだけでなく、特定の機種がサポート対象かどうかを確認することも重要だ。

端末所有者が今できること

サポート対象の端末を使っている人は、最新のシステムセキュリティアップデートをインストールし、メーカーのリリースノートやサポート情報で修正の有無を確認したい。Android 12やAndroid 13を使っている人は、自分の機種にパッチが提供されるのか、サポート対象のAndroidバージョンへアップグレードできるのか、メーカーに問い合わせるべきだ。

ブラスチック氏はデモ用アプリケーションとソースコードを公開しており、速やかなパッチ配信の必要性が高まっている。同氏は、他者を標的にすることを戒める警告も掲載した。特に緊急通信への妨害は深刻な危険につながる可能性がある。

携帯電話サービスが繰り返し切れたり、端末が再起動したりする場合は、端末メーカーまたは信頼できる修理業者に相談してほしい。データを残したい場合、リカバリー画面が表示された端末は慎重に扱う必要がある。端末で通話を維持できない状態で緊急の支援が必要な人は、別の使用可能な電話を使うべきだ。

端末所有者にとって重要な点は明快だ。この障害は、不審なメッセージかどうかを判断する前に発生する。サポート対象の端末では、実際に使っている機種向けに配信された最新のセキュリティアップデートが、最も現実的な対策となる。

要点

  • 不正な形式のWAP Push SMSは、受信者が何も操作しなくてもAndroidの通話サービスをクラッシュさせる可能性がある。
  • ブラスチック氏はPixel 9とSamsung Galaxy端末で脆弱性を再現し、1回の中断は約1~2秒続いた。
  • 再処理や通信事業者による再配信で、長期的なサービス障害やクラッシュの繰り返し、復旧画面の表示につながることがある。
  • 報告された2026年10月の修正はAndroid 14からAndroid 17が対象。Android 12とAndroid 13の所有者は、端末提供元による追加サポートに頼ることになる。
  • テスト環境以外での攻撃は報告されていない。研究者は、通話の妨害が緊急サービスへのアクセスに影響する恐れがあると警告した。
  • 工場出荷時設定へのリセットはデータを消去し、その後に有害なメッセージが再配信される可能性もある。技術的な復旧にはADBが必要となる場合がある。
この記事を共有

こちらもおすすめ