18 июня 2021 года инженер и основатель secret.club Карл Шоу (Carl Schou) рассказал в Twitter, что при присоединении любого iPhone, включая новые модели, к Wi-Fi сети с символьным названием (SSID) в виде "%p%s%s%s%s%n", происходит зависание работы беспроводного модуля мобильного устройства. Фактически Wi-Fi перестает работать, а попытка его активации заново приводит к моментальному отключению кнопки включения.

Пример бага с Wi-Fi на iPhone.


Также проблема полностью ломает AirDrop на iPhone.


Издание Bleeping Computer подтвердило, что проблема с Wi-Fi возникает на разных iPhone, включая XS, и на разных версиях iOS, включая 14.4.2 и 14.6.

Пользователи в комментариях к публикации посоветовали способ восстановления работы модуля Wi-Fi на пострадавшем мобильном устройстве. Необходимо сбросить настройки сети — зайти в «Настройки», потом в «Основные», выбрать «Сброс» и там активировать параметр «Сбросить настройки сети» (Settings -> General -> Reset -> Reset Network Settings).

Шоу пояснил, что не советует экспериментировать с такими названиями сетей и подождать патча от Apple, если компания заинтересуется этой проблемой.


Пользователи в комментариях также начали предлагать варианты использования этого бага при переименовании незащищенных публичных точек доступа или хотспотов с простыми паролями на настройку в гостевые точки доступа без паролей.

Некоторые пользователи проверили подключения к сети "%p%s%s%s%s%n" на устройствах с ОС Android. Там все работает штатно без проблем.


Эксперты Bleeping Computer предположили, ошибку с Wi-Fi на iPhone, вероятно, связана с проблемой синтаксического анализа входных данных. Когда в именах точек доступа Wi-Fi присутствует строка со знаками «%», то iOS может ошибочно интерпретировать буквы, следующие за «%», как спецификаторы формата строки, хотя это не так. В языках семейства C спецификаторы формата строки имеют особое значение и обрабатываются компилятором языка как имя переменной или команда, а не просто текст. Например, команда printf на самом деле не печатает символ «%n», а сохраняет количество символов, предшествующих %n, в заранее определенной переменной.

В 2018 году пользователи iPhone столкнулись с проблемой при получении в тексте смс символов Unicode для индийского языка телугу. Проблема возникала на некоторых версиях iOS в приложениях, использующих дефолтный шрифт San Francisсo. Получив всего несколько символов ????, пользователь терял управление над многими приложениями в iOS, включая почту и Facebook. Если один из символов телугу появлялся во всплывающих уведомлениях, то блокировался SpringBoard — приложение, отвечающее за главный экран в iOS.

В 2015 году пользователи iPhone столкнулись со сбоем системы и перезагрузкой своих устройств после получения смс или пуш-сообщения со смесью арабского текста с хинди или бенгальским посередине и китайским иероглифом в конце в виде строки "?????????? ? ? h ? ? ?".