iPhoneやiPadで特定の名前のWi-Fiネットワークに接続しようとすると、すべてのWi-Fi機能が無効になってしまうバグが発見されています。
セキュリティ研究者Carl Schou氏がこのバグを発見し、その動画をツイートしています。
動画では、特定の名前「"%p%s%s%s%s%n"」の付けられたWi-Fiネットワークに参加すると、iPhoneのWi-Fiが無効になってしまう様子が確認できます。
しかも、AirDropなどのシステムネットワーク機能も使用できなくなり、更に面倒なことに、デバイスを再起動してもこの問題は改善しないそうです。
ただし、以下に示すような回避策はあります。
その解決策とは、ネットワーク設定をリセットして、最初からやり直すことです。
設定 > 一般 > リセット > ネットワーク設定をリセット を実行することで、iPhoneに保存されているすべてのWi-Fiネットワークがリセットされ、すべてのネットワーク名もiPhoneのメモリから削除されます。
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
今回のバグの原因としては、プログラミング言語でよく使われるような「%[文字]」が含まれていたことにあると9to5Macは指摘しています。
Wi-Fiサブシステムはおそらく、サニタイズされていないWi-Fiネットワーク名(SSID)を文字列フォーマットを実行している内部ライブラリに渡しており、その結果、任意のメモリ書き込みやバッファオーバーフローが発生します。これによりメモリが破損し、iOSのウォッチドッグがプロセスを強制終了させるため、ユーザーは事実上Wi-Fiを使用できなくなります。
現実的には、こうしたネットワーク名を付けることは稀であり、わざとこうした名称を付けたオープンWi-Fiネットワークで悪さをしたいと思うのでなければ、被害にあう可能性は低そうです。
さしあたって、Appleが今後のOSアップデートでこの稀な事態を修正するまでは、名前にパーセント記号が含まれているWi-Fiネットワークに注意しましょう。
Source:9to5Mac