Специалист по безопасности Карл Шу обнаружил, что определённый вид сетевого имени вызывает ошибку iOS, полностью отрубая iPhone возможность подключиться к Wi-Fi.

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

Шу не стал объяснять, как он нашёл ошибку, однако любой программист поймёт принцип работы алгоритма.

Синтаксис «% [символ]» обычно используется для форматирования переменных в выходной строке. На языке C спецификатор '% n' означает сохранение числа символов, записанных в строку формата, в переменную, переданную в функцию форматирования строки. Подсистема Wi-Fi, вероятно, передаёт имя сети Wi-Fi (SSID) в некую внутреннюю библиотеку, которая выполняет форматирование строки, что, в свою очередь, вызывает произвольную запись в память и переполнение буфера. Это приводит к повреждению памяти, и iOS завершает процесс, тем самым отключая у пользователя Wi-Fi.

Настолько невероятное название сети вряд ли встретится в городских условиях, если только группа шутников не решит открыть доступ к Wi-Fi, используя «блокирующее» имя.

Пока Apple не исправит данное недоразумение, стоит игнорировать любые доступные сети, в названии которых есть символ процента.

Тем не менее, если ошибка возникла, не стоит отчаиваться. Пользователю достаточно сбросить настройки сети, поскольку «поломка» Wi-Fi не приводит к необратимому повреждению оборудования.

Как сбросить настройки сети

  • Зайти в «Настройки».
  • Перейти по пути «Основные» -> «Сброс» -> «Сбросить настройки сети».

Указанное выше действие удаляет данные всех сохранённых сетей Wi-Fi на iPhone, а также другие параметры, например настройки сотовой связи и доступ к VPN, тем самым выбрасывая информацию о вредоносном имени сети из памяти.

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

A specific network name can completely disable Wi-Fi on your iPhone - 9to5Mac
Here’s a funny bug: a security researcher has found that a carefully crafted network name causes a bug in the networking stack of iOS and can completely disable your iPhone’s ability to connect to Wi-Fi. On Twitter, Carl Schou showed that after joining a Wi-Fi network with a specific name (“%p%s%s%s…

Ещё по теме: