零點擊遠端攻擊機制與技術成因
該漏洞位於 Android 框架的 WapPushOverSms 元件中,具體程式碼位於 frameworks/opt/telephony。當 Android 接收 WAP Push 訊息時,decodeWapPdu() 函數會讀取 WSP 標頭長度作為 uintvar。
原始碼顯示,該值被讀取為 long 類型後直接強制轉換為 int,過程中缺乏範圍檢查,隨後直接用於建立位元組陣列的大小。若輸入特定的 5 位元組 uintvar(88 80 80 80 00),解碼結果為 0x80000000,轉換為有符號 32 位元整數後變成 -2147483648。
嘗試分配大小為負數的陣列會拋出未捕獲的 NegativeArraySizeException,導致執行在電話服務主執行緒上的 com.android.phone 程序崩潰。此過程完全靜默,訊息作為資料簡訊傳遞但不顯示於收件匣,使用者也不會看到發送者號碼。
從暫時性中斷到持久性拒絕服務的演變
單一則畸形簡訊會導致電話服務程序重啟,造成 1 至 2 秒的通訊黑屏,並強制終止進行中的語音通話,包括緊急呼叫。由於運營商會重新發送未確認的訊息,這可能導致手機在測試中出現長達一週的間歇性服務中斷。
若快速連續發送約 30 則訊息,情況會惡化。崩潰過程與電話服務供應商寫入 SMS 儲存庫的操作產生競態條件,導致儲存裝置訊息的 SQLite 資料庫損毀。一旦資料庫損毀,com.android.phone 在每次開機讀取受損資料時都會立即崩潰,使手機處於持續無電話服務的狀態。
這種持久性拒絕服務(Persistent DoS)難以透過重啟解決。恢復過程複雜:需先將實體 SIM 卡取出並插入非 Android 裝置(如 iPhone)以確認運營商的重試訊息停止發送,接著透過 ADB 清除 SMS 記錄或修復損毀資料庫。對於使用 eSIM 的裝置,由於無法簡單移動 SIM 卡,恢復對一般使用者而言幾乎不可能。
澳洲法規下的緊急呼叫風險與運營商責任
該漏洞不僅是便利性問題,更涉及公共安全。在攻擊進行中或手機因資料庫損毀而變磚時,裝置無法可靠地撥打 000(澳洲緊急號碼)。根據澳洲通訊與媒體管理局(ACMA)管理的《電信(緊急呼叫服務)決定》,運營商必須識別無法撥打 Triple Zero 的手機,協助客戶更換可用裝置,並停止向受影響手機提供服務。
Telstra 明確表示,法規要求阻擋無法撥打 000 的手機,若客戶未在 28 天內處理,將通知客戶並阻擋該裝置。這意味著攻擊者若能遠端誘發此條件,實際上可導致受害者的手機被運營商切斷服務,直到修復方案出現。
此監管框架於 2024 年因 3G 網路關閉而收緊,當時部分手機雖能進行普通通話但無法撥打緊急服務,與此漏洞造成的功能狀態相同。因此,該缺陷製造了法規所定義的公共安全失敗情境。
Google 的處理過程與最終分類
研究人員 Mark Blaszczyk 於 2026 年 5 月 5 日透過 Android & Google Devices VRP(漏洞獎勵計畫)提交報告,並同日提供了建議修復方案:在 WapPushOverSms.java 第 217 行的強制轉換前增加範圍檢查。
Google 安全團隊最初將此指派為調查項目,但於 6 月 20 日關閉工單標記為 Won't Fix(不可行),理由是「非安全性漏洞」。研究人員隨後兩次重新提交作為誤判申訴,強調這是遠端永久性拒絕服務,約 20 則訊息即可永久禁用手機。
經過多次往返溝通,包括研究人員補充 SQLite 損毀細節及引用 VRP 規則中關於「破壞性遠端 DoS」的定義,Google 最終在 10 月 29 日維持 Won't Fix 決定,並引用「不符合嚴重性門檻……被視為非安全性問題(NSI)」。整個過程超過 90 天的協調披露時間線,最終未發布 CVE 編號。
社群觀點與測試限制
前 Google ISE 工程師 mrb 評論指出,若此報告由其經手,會將其標記為嚴重安全性問題,認為這是嚴重的 DoS。他推測這可能是第一線分級人員(Tier 1 triager)的誤判,因為這類情況偶爾發生。
其他社群成員對實際風險提出質疑。使用者 jeroenhd 指出,運營商配置訊息通常僅來自運營商,且發送 SMS 需要特殊確認,因此實際攻擊場景可能受限。另有評論認為關於澳洲法規阻擋手機的推論可能過度解讀了法規原意,該法規主要針對因網路升級導致無法撥打緊急電話的舊型手機遷移問題。
研究人員強調此為工作概念驗證(Working Proof-of-Concept),僅供授權測試使用。發布的 Android 應用程式與原始碼位於 GitHub,用於構造畸形 WAP Push PDU 並作為資料簡訊發送。作者警告,干擾他人撥打緊急服務的能力在澳洲及多數國家屬嚴重刑事犯罪,軟體以 Apache License 2.0 提供且無保固。




