iPhone 連不上 Wi-Fi,問題可能出在 Wi-Fi 的名稱!幾週前資安研究人員發現,名稱帶有百分比符號 % 的 Wi-Fi 可能會讓 iPhone 網路失靈,但仍可透過重設網路來排除;但近日發現,若連上名稱為「%secretclub%power」的 Wi-Fi,可能會導致網路功能永久失效。
% 讓 iOS 無法連網,原因可能跟 C 語言有關
資安專家 Carl Schou 近日在 Twitter 發文表示,如果 Wi-Fi 名稱叫 %secretclub%power,就會讓 iOS 設備永久無法連網;就算重設網路,可能也無法排除這個狀況。
You can permanently disable any iOS device's WiFI by hosting a public WiFi named %secretclub%power
Resetting network settings is not guaranteed to restore functionality.#infosec #0day— Carl Schou (@vm_call) July 4, 2021
Schou 也在幾週前發推文,表示自己的非營利組織 Secret Club 發現,若將 iPhone 連接到 SSiD 名稱為 %p%s%s%s%n 的 Wi-Fi,會導致 iOS 的網路堆疊出現錯誤,讓連網功能失效。
After joining my personal WiFi with the SSID “%p%s%s%s%s%n”, my iPhone permanently disabled it’s WiFi functionality. Neither rebooting nor changing SSID fixes it :~) pic.twitter.com/2eue90JFu3
— Carl Schou (@vm_call) June 18, 2021
外媒《9TO5 Mac》提出可能的解釋:在程式語言中,「%[字元]」語法通常用於將變數格式轉換為輸出字串。在 C 語言中,「%n」會儲存字串中的字元數。Wi-Fi 子系統可能將 Wi-Fi 的網路名稱(SSID)未加密傳遞給一些正在執行字串格式化的內部庫,這會導致任意的記憶體讀寫與緩衝區溢位,進而導致記憶體損壞,讓 iOS 終止整個過程,導致 Wi-Fi 無法使用。
蘋果尚未對此做出回應。《9to5 Mac》指出,iPhone 用戶可以不要連接名稱帶有 % 的 Wi-Fi 來避免這個 bug。
參考資料
(本文提供合作夥伴轉載。首圖來源:flickr CC Licensed)
延伸閱讀
製程越進步,bug 卻越難預測!AI 如何解決先進晶片製程的衍生問題?
95% PyTorch 函式庫都中招的 Bug!連特斯拉 AI 總監也曾入坑
用 print 太慢了!資深工程師要知道這 5 個 debug 工具