AndroidのゼロクリックSMSバグが永続的なサービス拒否を引き起こす
不正な形式のWAP PushメッセージによりAndroidのテレフォニーサービスがクラッシュし、再起動ループが発生して緊急通報をブロックし、キャリアによる利用停止を招く可能性があります。
英語の原文から自動翻訳されました。
Androidに存在する重大なゼロクリック脆弱性により、攻撃者は不正な形式のデータSMSを1通送信するだけで、モバイルデバイスをリモートで無効化できるようになります。2026年半ばに発見され報告されたこの欠陥は複数のデバイスメーカーに影響を与え、手動で削除するかパッチを適用しない限り、再起動後も持続します。Googleは2026年10月のセキュリティアップデートでこの問題に対処しましたが、未修正のデバイスは依然として永続的なサービス障害のリスクにさらされています。
何が起きたか
この脆弱性は、設定情報やマルチメディアコンテンツをSMS経由で配信するために使用されるレガシープロトコルであるWAP Pushメッセージの処理方法を狙っています。通常のテキストメッセージとは異なり、これらのデータSMSはユーザーの操作や目に見える通知なしに、バックグラウンドで静かに処理されます。攻撃者は被害者の電話番号のみで、テレフォニーサブシステム内のクラッシュを引き起こす特別に作成されたパケットを送信できます。
悪意のあるメッセージが届くと、com.android.phoneプロセスは即座にクラッシュします。これにより、アクティブな音声通話がDisconnectCause CS_DEATHエラーで切断され、1〜2秒間の短いテレフォニーブラックアウトが発生します。キャリアは未確認のメッセージを自動的に再配信するため、スマートフォンは破壊的なサイクルに入ります。各再配信試行が再びクラッシュを引き起こし、数日間続く断続的な障害につながります。テストでは、約20件のこうしたメッセージにより、デバイスが長期間完全に使用不能になりました。
不正な形式のメッセージがシステム内にキューイングされたまま残るため、影響は特に深刻です。デバイスが起動するたびに保留中のメッセージの処理を試み、再度クラッシュし、再起動します。このループは、メッセージが削除されるか、デバイスが工場出荷時リセットされるまで継続します。この問題は、2026年4月ファームウェアを実行しているPixel 9デバイスや、さまざまなSamsung GalaxyおよびAシリーズモデルで100%の一貫性をもって再現されました。
仕組み
根本原因は、AndroidフレームワークがWAP Pushプロトコルデータユニット(PDU)をデコードする方法にあります。具体的には、WapPushOverSms.javaコンポーネントがヘッダーデータの長さを整数へキャストする前に検証しません。悪意のあるPDUに負の値または実際のパケットサイズを超えるヘッダー長さの値が含まれている場合、システムは従来のエラーハンドリングロジックでは捕捉されていなかった例外をスローします。この未処理の例外により、テレフォニープロセス全体がクラッシュします。
Googleの当初の推奨修正は、処理前にヘッダー長を検証するための境界チェックを追加することでした。しかし、2026年10月のセキュリティリリースで提供された最終的なパッチは異なるアプローチを取りました。単に入力を検証するだけでなく、エンジニアはデコード中にすべてのRuntimeExceptionエラーを捕捉するように例外ハンドラーを広げました。重要なのは、更新されたコードがデコード失敗時に生ストレージテーブルから毒入りメッセージを削除するようになった点です。これにより、その後の起動時やキャリアによる再配信時にメッセージが再試行されることが防がれ、事実上サービス拒否ループが断ち切られます。
主要な詳細
- ゼロクリックエクスプロイト: ユーザーの操作は不要であり、メッセージは受信ボックスに表示されません。
- 永続的なDoS: 不正な形式のメッセージは再起動後も生き残り、Android RescuePartyを通じて約90秒ごとにクラッシュループを引き起こします。
- 緊急通報の失敗: アクティブな通話が切断され、000などの緊急サービスへの信頼できる接続ができなくなります。
- キャリアによる増幅: 未確認メッセージのネットワーク再配信により、追加の攻撃者関与なしに攻撃が持続します。
- 復旧の複雑さ: メッセージの削除には、
content://sms/rawから特定の行を削除するためのADBアクセスが必要であり、非技術者には困難です。 - パッチの利用可能性: 修正はAndroid 14から17向けの2026年10月Androidセキュリティアップデートに含まれています。
なぜ重要なのか
ソフトウェアエンジニアやセキュリティ専門家にとって、この脆弱性はレガシープロトコルに対する暗黙の信頼の危険性を浮き彫りにします。WAP Pushは古い技術ですが、現代のAndroidスタックに統合されたまま残っています。型キャストの前に入力長を検証しなかったことは、リモートかつ永続的なサービス拒否につながった典型的なエラーです。これは、エラーハンドリングが不十分であれば、静かなバックグラウンドプロセスであってもデバイス可用性に対して壊滅的な影響を及ぼし得ることを示しています。
広範な影響は技術的な不便を超えて広がります。オーストラリアでは、緊急通報へのアクセスが義務付けられた規制要件です。「電気通信(緊急通報サービス)決定」に基づき、キャリアは緊急サービスに到達できないデバイスを特定し、ブロックしなければなりません。スマートフォンがクラッシュループに陥っている場合、000にダイヤルできません。その結果、問題が解決されない場合、キャリアは28日後に該当ハンドセットへのサービスを遮断することが要求されます。これにより、成功した攻撃は単に一時的な混乱をもたらすだけでなく、被害者のデバイスがネットワークから完全に排除されるという逆説的な結果を生みます。
対処法
- 即時アップデート: デバイスに2026年10月のAndroidセキュリティパッチ以降がインストールされていることを確認してください。
- パッチレベルの確認: 「設定 > セキュリティ > セキュリティアップデート」を確認し、現在のパッチレベルを確かめてください。
- 復旧のためのADB使用: 再起動ループに陥った場合は、Android Debug Bridgeを使用して、宛先ポートが134020である
content://sms/rawからの行をクエリし、削除してください。 - 工場出荷時リセットの回避: 絶対に必要でない限り、リカバリモードで「データを消去」を選択しないでください。これはすべてのユーザーデータを消去します。
- SMS権限の制限: 完全な解決策ではありませんが、SMSを送受信できるアプリを制限することで、他のベクトルへの露出を減らせる可能性があります。
- キャリア通知の監視: 緊急通報ができない状態が長く続くと、キャリアによって自動的にサービスが停止される可能性があることに注意してください。



