特定のSSIDのWi-Fiネットワークに接続すると、iPhoneのWi-Fi機能が完全に機能しなくなるバグが発見されました。
iPhoneのWi-Fi機能が完全に機能しなくなるバグを見つけたのは、セキュリティ研究者のCarl Schou氏。「%p%s%s%s%s%n」というSSIDのネットワークに接続すると、iPhoneのすべてのWi-Fi関連機能が無効になってしまう、とSchou氏は自身のTwitterで報告しています。
「%p%s%s%s%s%n」というSSIDに接続するとWi-Fi機能が無効になるのは、iPhoneおよびiPadだそうです。Wi-Fi機能が無効化すると、Wi-Fi通信を利用してデータのやり取りを行う「AirDrop」も利用不可能になる模様。なお、Wi-Fi機能の無効化は端末を再起動しても解決しないそうです。
なぜ「%p%s%s%s%s%n」というSSIDに接続するとiPhoneのWi-Fi機能が無効化してしまうのかについて、Schou氏は詳細な説明をしていません。しかし、9to5Macは「『%(アルファベット)』という構文はプログラミング言語で変数を出力文字列にフォーマットするために一般的に使用されており、C言語ではフォーマット文字列に書き込まれた文字数を、文字列フォーマット関数にわたす変数に変換することを意味します。そのため、Wi-FiシステムがサニタイズされていないSSIDを、文字列フォーマットを実行している内部ライブラリに渡してしまっている可能性があります。これにより、任意のメモリ書き込みとバッファオーバーフローが発生し、メモリが破損してiOSがプロセスを強制終了し、Wi-Fiが事実上無効化されてしまうものと思われます」と記しています。
そのため、Appleがこのバグを修正するまでは、フリーWi-Fiなどで「%」が含まれたSSIDを発見した際には、これに接続しないようにすることを9to5Macは推奨しています。
なお、誤って「%」が含まれるSSIDに接続してしまいiPhoneのWi-Fi機能が無効化してしまった場合には、「設定」→「リセット」→「ネットワーク設定をリセット」の順にタップして、ネットワーク設定をリセットすることでWi-Fi機能の無効化を解除することができるようです。