image

В операционной системе iOS обнаружен необычный баг, приводящий к перезагрузке устройства. Достаточно прислать на iPhone специальный знак из алфавита индийского языка телугу ???? («знак»), после чего устройство автоматически перезагружается.

Один из символов языка телугу, которым пользуются в некоторых штатах Индии, приводит к перезагрузке iPhone. Если вставить этот символ в текст сообщения и открыть, то это приедет к перезагрузке устройства. Применение этого символа сработает с Facebook Messenger, iMessage, WhatsApp, Gmail, Outlook.

Исходная последовательность U + 0C1C U + 0C4D U + 0C1E U + 200C U + 0C3E, которая является последовательностью символов телугу приводит к перезагрузке системы, будучи введена в любое системное текстовое поле. Особенность изменения символов, приводящая к краху системы кроется в особенностях языка телуги и бенгали (и возможно других диалектов). К краху приводит преобразование суффикс-соединительных согласных — когда второе согласное присоединяется к первому для объединения без значительного изменения его формы.

image

Это не первый случай, когда iOS крашится из-за странных символов, URL-адресов или даже видео. В прошлом месяце одна ссылка могла заморозить iPhone (chaiOS bug), эта проблема была устранена с выпуском iOS 11.2.5. В 2015 году схожая уязвимость в iMessage приводила к перезагрузке устройства. Также, в 2016 году 5-секундное видео приводило к «зависанию» устройства.

Обработка специфичных символов или их последовательностей относится к так называемым «sms of death».

Такого плана уязвимости периодически обнаруживаются как на различных платформах, так и в конкретных приложениях. Они могут приводить к перезагрузке устройства, зависанию, «окирпичиванию» либо к неверной трактовке контекста исполнения текста (как недавний RLO-баг в telegram).

Эти уязвимости появились задолго до эры современных смартфонов: такого рода баги были в телефонах Nokia (TP-UD пейлоад в т.н. флеш-смс), классическая уязвимость "%English" в телефонах Siemens и многие другие, менее известные.

Обычно такие уязвимости не несут вредоносной нагрузки, но широко используются в пранках и имеют, как правило, социотехнический вектор распространения.



Бонус для лингво-хакеров: разбор синтаксического фаззинга диалекта бенгали, приводящего к подобной проблеме по ссылке (англ.).

Комментарии (18)


  1. Free_ze
    16.02.2018 13:42
    +1

    В 2015 году схожая уязвимость в iMessage приводила к перезагрузке устройства.
    Кажется, здесь стоит говорить об уязвимости в ОС, если прикладной софт способен нарушить ее работу, разве нет?


    1. LukaSafonov Автор
      16.02.2018 13:46

      Скорее в компоненте ОС, если рассматривать iOS как единую систему.


  1. ZaEzzz
    16.02.2018 14:06
    +1

    Этот символ приводит к краху приложений на Mac OS X (по крайней мере 10.13.3).
    Что пришло в голову и сразу проверил:
    1. Браузеры.
    Проверено на сафари и хроме. Для воспроизведения нужно выделить символ и открыть контекстное меню. На хроме первый раз удалось даже открыть страницу гугла с поиском по этому символу.
    2. Консоль.
    Скачал страницу и вывел ее в консоль через cat. В результате терминал крашнулся.

    Можно найти еще разные приложения — ошибка более глобальна, чем просто мессенджеры и почтовые клиенты.

    P.S. Можно не пытаться скопировать символ со статьи — он неполный.


    1. LukaSafonov Автор
      16.02.2018 14:32

      На скриншоте полный символьный набор. В статье — защита «от дурака» + есть символьная последовательность.


  1. Eldhenn
    16.02.2018 14:27

    > Эти уязвимости появились задолго до эры современных смартфонов

    Даже задолго до смартфонов вообще. «Правоспособность-способность лица иметь права и нести гражданские обязанности» и «Яр-Тур.~».


  1. zemavo
    16.02.2018 14:41

    «Никогда такого не было, и вот опять.»


  1. Donutellko
    16.02.2018 15:30

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


    1. pda11111
      16.02.2018 17:07

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


  1. Ugrum
    16.02.2018 16:56

    специальный знак из алфавита индийского языка телугу


    Древнеиндусский код? Вот это я понимаю, многовековые традиции кодинга и поиска уязвимостей.


    1. i86com
      16.02.2018 18:13

      Скорее древнее заклинание разрушения.


  1. eXcNightRider
    16.02.2018 17:07

    11.3 beta2 админ сегодня пошутить решил — не получилось, не работает этот баг


    1. LukaSafonov Автор
      16.02.2018 17:07

      На 11.3 баг не воспроизводится.


  1. homm
    16.02.2018 17:20

    На iOS 10.3 и MacOS 10.11.6 не воспроизводится.


  1. bgnx
    16.02.2018 18:10

    А кто-то может сказать почему такие баги с символами вообще происходят? Насколько я знаю символ состоит из глифов, глиф из сплайнов а те из кривых Безье и правила наложения глифов друг на друга четко описаны в форматах TrueType или OpenType. Где тут могут быть баги, неужели нельзя просто написать не глючный движок рендера набора кривых Безье?


    1. LukaSafonov Автор
      16.02.2018 18:17

      Почитайте статью по ссылке.


      1. greabock
        17.02.2018 00:56

        Статья о том, когда и как, а не о том почему.


    1. DnV
      17.02.2018 02:28

      Можно, но «не все программисты одинаково полезны». p.s. Тем, кто попал на символ в сафари поможет, например, открытие через закладки по форстачу.


  1. lany
    17.02.2018 04:33

    Помню ещё в прошлом веке в ранние версии форумов ikonboard вставляли [img]file:///c:/con/con[/img], роняя ОС бедолагам с Windows 98, которые заходили в тему. Ничего в мире не меняется...