reboot1

 

На прошлой неделе пользователи Reddit нашли забавный и интересный баг, который действует во всех версиях iOS. Если на телефон отправить определённую комбинацию символов, то он перезагружается.

После перезагрузки Messages может снова демонстрировать это сообщение как последнее полученное и перезагружаться. Можно попробовать исправить уязвимость, послав на телефон нормальное сообщение и сдвинув старое. Сама Apple рекомендует сделать это с помощью голосового помощника Siri.

reboot

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

Падение происходит внутри метода CopyFromStorage(TRunGlue&, long) и, судя по ассемблерному коду, в момент копирования байтов длиной long n из одной части памяти в другую (movq 0x90(%rax), %rdx).

Пользователь хабра dns78 сообщил: «Всякий bidi процессинг (когда в тексте встречаются сразу символы left-to-right и right-to-left), арабские диалекты, хинди, кхмер и т. п. — поле непаханное для крэшей. Во всех операционных системах. Обработка [например двухбайтных] символов каждого типа естественного языка — это примерно как виртуальная машина. Символы — как опкоды. В сложных языках эти опкоды могут модифицировать на лету [сегмент кода] прочий текст. Правила этих модификаций не до конца внятны. Например, в Sinhala. Отсюда ошибки».

Добавить комментарий


Защитный код
Обновить