iPhoneのシステムであるiOSは、接続を試みるWi-Fiに特定の文字が含まれると、iPhone内のWi-Fi設定がすべて崩壊されて、Wi-Fiを根本的にオンにすることができなる。
これはiOSのバグ、あるいはAppleが意図していないユーザーの設定が原因によるもので、特定のWi-Fiに一度でも接続を試みるとiPhoneのWi-Fiは本当に機能不全に陥る。
セキュリティ研究者であるCarl Schou氏が、Wi-Fi名に「%p%s%s%s%s%n」と名付けられたネットワークに接続を試みたところ、iPhoneのWi-Fiが完全に無効化されてしまった。
この問題は、C言語など、システムを動かす言語の特徴が起因している問題である。最初に“%” が付加された文字列は、システムが変数名やコマンドとして解釈するため、名前に“%” を含むと問題が発生する可能性がある。
Wi-Fi名の先頭に“%” が設定されているWi-Fiに接続を試みると、それ以降はiPhoneのWi-Fi設定を有効にすることができなくなる。
なお、症状はiPhoneにみられる問題で、アンドロイドを搭載したスマホでは再現されない。
この問題を解決するには、Wi-Fiの設定を一度リセットする手段しかない。Wi-Fi名の変更時やフリースポットへ接続する際には、名前の先頭の文字に注意したい。
iPhoneのWi-Fi設定をリセットするには、iPhoneのホーム画面から「設定 > 一般 > リセット」と進み、「ネットワーク設定をリセット」を選択する。このリセットを行うと、iPhone内に保存されているWi-Fiの設定がすべてリセットされる。
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)
Via: MacRumors