SSID BUG
Zollotech

ここ数週間にわたり、iPhoneを特定の名前(SSID)を持つWi-Fiネットワークに繋ぐ、あるいは圏内に入るだけでWi-Fi機能が無効化される不具合が報告されていました。この件につき、アップルが8日(米現地時間)に配信開始したiOS 14.7最新ベータ版(開発者向けおよびパブリックベータともに)にてバグが修正されているようだと伝えられています。

問題のバグは、6月に初めて表面化したものです。セキュリティ研究者のCarl Schou氏は、まず特定のSSID(「%p%s%s%s%s%n」)を持つWi-Fiネットワークに繋ぐとiPhoneのすべてのWi-Fi機能が無効になり、再起動しても症状は直らず、復旧するにはネットワーク設定をリセットするしかないと報告していました

さらにSchou氏は今月初め、新たな有害SSIDを発見したと警告を発しています。そちらはWi-Fiネットワーク範囲内に入るだけでWi-Fi関連機能が使えなくなり、ネットワーク設定のリセットでも直らず、iPhone本体を工場出荷状態に初期化するしかないと思われます。

しかしYouTuberのZollotech氏の報告によると、iOS 14.7最新ベータをインストールしたiPhoneでは、これら特定のWi-Fi名のいずれかに接続しても問題なく動作するとのことです。

このバグの原因は記事執筆時点では判明していませんが、米9to5MacのBenjamin Mayo氏はどちらのSSIDにも頭に「%」が付いているためではないかと推測しています。プログラミング言語では変数を出力文字列にフォーマットするために「%[character]」構文がよく使われますが、これが原因ではないかとのことです。

たとえばC言語では「%n」という指定子は、フォーマット文字列に書き込まれた文字数を、文字列フォーマット関数に渡された変数に保存することを意味するものです。

そしてiOSのWi-Fiサブシステムは、おそらく文字列フォーマットを実行している何らかの内部ライブラリに、Wi-Fiネットワーク名(SSID)を不用意に渡しており、その結果として任意のメモリ書き込みやバッファオーバーフローが発生。それによりメモリ破壊バグが発生し、iOSウォッチドッグ(暴走防止のためのタイマー)がプロセスを終了させるため、事実上Wi-Fiを使用できなくなるのではないかーーMayo氏はそう推測しています。

現行の最新バージョンiOS 14.6が配信されてから1ヶ月以上が経過しており、そろそろiOS 14.7の配信時期が近づいていたとしてもおかしくはないはず。とはいえ、いつ公開されるかは決まっていないため、それまでは名前に「%」が含まれるWi-Fiネットワークに近づかないようご注意ください。

Source:Zollotech(YouTube)

via:9to5Mac