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

Проблему обнаружил исследователь Карл Шу (Carl Schou), когда попытался подключиться к своей личной точке доступа, называвшейся «%p%s%s%s%s%n». При попытке подключения Wi-Fi на его iPhone (iPhone XS под управлением iOS версии 14.4.2) попросту отключался, а когда эксперт пытался включить его снова, ничего не вышло ни после перезапуска девайса, ни после изменения SSID.

Журналисты издания Bleeping Computer, с которыми Шу поделился этим наблюдениям, провели собственные опыты и подтверждают, что беспроводная связь на iPhone выходит из строя после подключения к беспроводной сети с подобным названием. На Android-устройствах воспроизвести баг не удалось.

«В ряде тестов при попытке подключиться к такому странному SSID наш Wi-Fi начинал работать с перебоями, и всё приводило к одному и тому же результату — сбою беспроводного подключения устройства.
В некоторых тестах подключение к SSID не удавалось, но больше мы не могли получить доступ и к нашей обычной беспроводной сети.
Другие тесты привели к поведению, описанному Шу, когда Wi-Fi отключался, и мы более не могли включить его обратно, как показано ниже», —  пишут журналисты.

Исследователи говорят, что единственный способ избавиться от этого бага: полностью сбросить настройки сети на устройстве.

Судя по всему, корень проблемы кроется в ошибке, связанной с синтаксическим анализом входных данных. Когда в именах точек доступа присутствует строка с символами «%», iOS может ошибочно интерпретировать буквы, следующие после «%», как спецификаторы формата. Шу признается, что он умышленно называет все свои точки доступа таким образом, «чтобы вые*ать плохо разработанные устройства».

Разработчики Apple пока никак не прокомментировали обнаружение ошибки.

4 комментария

  1. Аватар

    0d8bc7

    22.06.2021 в 04:09

    Сейчас же популярно, в числе прочих форм тестирования, юнит-тестирование, а спецификатор формата тоже является юнитом.
    Хотя я бы на месте этих разработчиков вообще отказался от printf/scanf и аналогов. Сам-то я этими функциями иногда пользуюсь, но стараюсь не забывать, что спецификатору формата нужно уделять особое внимание и, по возможности, вообще задавать явно. — Десятки прочитанных статей по безопасности IT не прошли даром)
    А Шу мой респект)

  2. Аватар

    0d8bc7

    22.06.2021 в 04:33

    Хорошо, если это может привести только к сбою настроек. А что, если, поигравшись со спецификатором формата, можно добиться удалённого выполнения кода? Надеюсь, конечно, что нет, но мало ли?

  3. Аватар

    Lex.Mikachev

    29.06.2021 в 15:13

    Шу — красачик, подал отличную идею: буду раздавать инет со своего Андроида или домашенго роутера через точку доступа с названием %p%s%s%s%s%n — надеюсь пользователи яблочной продукции оценят по достоинству их устройства 🙂

  4. Аватар

    v1001001p

    03.07.2021 в 15:13

    iPod Touch 5g (iOS 9.3.5) — баг не работает

Оставить мнение