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 ॣ ॣ 冗".