Определенное имя сети может полностью отключить Wi-Fi на вашем iPhone.

Определенное имя сети может полностью отключить Wi-Fi на вашем iPhone.

Вот забавная ошибка: исследователь безопасности обнаружил, что тщательно созданное сетевое имя вызывает ошибку в сетевом стеке iOS и может полностью отключить способность вашего iPhone подключаться к Wi-Fi.

В Твиттере, Карл Шу показал что после присоединения к сети Wi-Fi с определенным именем («% p% s% s% s% s% n») с этого момента все функции Wi-Fi на iPhone были отключены.

Как только iPhone или iPad присоединяется к сети с именем «% p% s% s% s% s% n», устройству не удается подключиться к сетям Wi-Fi или использовать системные сетевые функции, такие как AirDrop. Проблема сохраняется после перезагрузки устройства (хотя временное решение существует, см. Ниже).

Хотя Шуо не подробно описывает, как именно он это понял, любой программист должен заметить шаблон в фанковом имени сети, необходимый для запуска ошибки.

Вот вероятное объяснение:%[character]’синтаксис обычно используется в языках программирования для форматирования переменных в выходной строке. В C спецификатор ‘% n’ означает сохранение количества символов, записанных в строку формата, в переменную, переданную в функцию форматирования строки. Подсистема Wi-Fi, вероятно, передает имя сети Wi-Fi (SSID) без очистки в некоторую внутреннюю библиотеку, которая выполняет форматирование строки, что, в свою очередь, вызывает произвольную запись в память и переполнение буфера. Это приведет к повреждению памяти, и сторожевой таймер iOS завершит процесс, тем самым отключив Wi-Fi для пользователя.

Очевидно, это настолько непонятная цепочка событий, что маловероятно, что кто-то случайно попадет в нее, если только груз шутников Wi-Fi внезапно не появится в дикой природе с открытыми сетями Wi-Fi, использующими отравленное имя. Пока Apple не исправит этот крайний случай в будущем обновлении ОС, просто следите за любыми сетями Wi-Fi, в названии которых есть символы процента.

Тем не менее, если это каким-то образом повлияло на вас, ошибка, похоже, не приведет к необратимому повреждению вашего оборудования.

Вы должны иметь возможность сбросить все настройки сети и начать заново. В настройках перейдите в Общие -> Сброс -> Сбросить настройки сети. Это сбрасывает все сохраненные сети Wi-Fi на iPhone (а также другие параметры, такие как настройки сотовой связи и доступ к VPN), тем самым удаляя информацию о вредоносном имени сети из его памяти. Затем вы можете снова подключиться к своему стандартному домашнему Wi-Fi.

Соцсети