Иногда, чтобы уронить целое приложение, хватает одного крошечного файла. В чатах Telegram сейчас гуляет стикер весом всего 269 байт, который отправляет мобильный клиент в аварийное закрытие. Это не вирус, не взлом и не кража данных, а просто хитро собранная картинка, от которой приложение падает замертво. Забавно, что случилось это на фоне приятных новостей для владельцев iPhone: в России как раз сильно подешевели рублевые карты пополнения Apple ID, и жизнь в экосистеме понемногу налаживается. А тут такой подарочек в самом популярном мессенджере страны.
Сообщение о вылете Telegram на iPhone
Как крохотный стикер роняет весь Telegram
Вся суть проблемы прячется в геометрии, зашитой внутрь стикера. Внутри объекта спрятана обычная на вид звезда, но с параметром, который требует от нее число вершин порядка десяти в тридцать восьмой степени. Проще говоря, фигура с астрономическим количеством углов. Мобильный клиент честно берется ее отрисовать, добросовестно пытается посчитать все эти точки, но никаких ресурсов на такое не хватает. Итог закономерный: приложение вылетает. Первым на баг наткнулся пользователь Хабра под ником denis-19, он же и описал всю механику.
Сам стикер в переписке выглядит как пустота
И самое неприятное, что для срабатывания не нужно вообще никаких активных действий: ни переходить по ссылкам, ни скачивать файлы, ни соглашаться на обновление не требуется. Достаточно, чтобы стикер просто прилетел вам в переписку. А прилететь он может кому угодно, у кого есть аккаунт, тем более что завести его сейчас проще простого, и мы подробно разбирали, как зарегистрироваться в Telegram без номера. Так что круг потенциальных жертв тут максимально широкий.
Ошибка, о которой можно сообщить разработчикам
Хорошая новость в том, что ничего страшнее вылета не произойдет. Речь не идет ни о взломе аккаунта, ни о краже переписки, ни об удаленном выполнении кода. Это классическая атака, когда цель не украсть данные, а просто вывести конкретную программу из строя. Ваши сообщения, контакты и файлы в полной безопасности, страдает лишь работоспособность самого клиента. Неприятно, но точно не катастрофа.
Почему баг цепляет вас снова и снова
Отдельная беда этого стикера в его прилипчивости. Поведение бага непредсказуемо: у одних Telegram вылетает сразу при запуске, у других только в момент, когда открываешь конкретную переписку с проблемной звездой. И вот тут начинается самое обидное. После аварийного перезапуска приложение нередко само возвращает вас в тот же диалог и снова пытается отрисовать ту же самую звезду. Получается замкнутый круг: открыл, вылетел, зашел заново, снова оказался в том же чате, снова вылетел. После пары таких заходов невольно начинаешь поглядывать по сторонам, и как раз кстати мы недавно разбирали, чем Syntara отличается от Telegram и других мессенджеров. Запасной вариант под рукой в такие моменты совсем не лишний.
Разорвать эту петлю можно двумя способами: либо почистить кеш приложения, либо целиком удалить проблемный чат. Звучит просто, но на практике сделать это, когда клиент падает каждые пару секунд, бывает та еще задачка. Если баг вас все-таки застал, вот что стоит сделать по шагам:
Процесс очистки кэша в Telegram
- Зайдите в настройки Telegram.
- Выберите пункт «Данные и память».
- Перейдите в «Использование памяти».
- Нажмите «Очистить весь кэш».
- Если не помогло или приложение вылетает сразу после запуска и не дает перейти в настройки, то полностью переустановите программу.
Хотите первыми узнавать про такие косяки и свежие новости мира Apple? Подписывайтесь на наши каналы в Telegram и МАКС, там мы разбираем все самое интересное простым языком.
Кто в зоне риска и грозит ли это айфону
А теперь вопрос, который волнует нас с вами больше всего: страдают ли от стикера-убийцы владельцы iPhone. Пока конкретики мало. Неизвестно, какие именно версии мессенджера затронуты и какие платформы попали под удар, будь то Android, iOS или десктопный клиент. Официального заявления от Telegram на момент публикации нет, как нет и сведений о сроках выхода патча. Так что списывать iOS со счетов рано: механика бага универсальная и упирается в отрисовку тяжелой фигуры, а не в конкретную операционку. Поэтому даже владельцам айфонов расслабляться пока не стоит.
Экран авторизации Telegram на iPhone
Истории со стикерами для Telegram, к слову, совсем не новость. Раньше независимый исследователь описывал похожий по духу баг в обработке анимированных стикеров десктопного клиента. А в этом году в индустрии обсуждали отдельную уязвимость с идентификатором ZDI-CAN-30207, которую сначала оценили в 9,8 балла по шкале CVSS, а позже понизили до 7,0. На баг-трекере мессенджера жалобы на падения из-за конкретных наборов стикеров всплывают с завидной регулярностью. Кстати, раз уж речь зашла о деньгах и безопасности внутри мессенджера, мы отдельно разбирали, безопасно ли покупать Telegram Premium в России.
Запутались в настройках или что-то никак не выходит? Пишите в наш чат в Telegram или МАКС, там всегда подскажут и помогут разобраться.
Что делать до выхода патча
Пока разработчики не выкатили официальное исправление, вся защита сводится к простой бытовой осторожности. Специалисты советуют не открывать чаты с подозрительными стикерами от незнакомых отправителей и внимательно следить за обновлениями приложения в официальных магазинах. Правила банальные, но именно они сейчас работают лучше всего. Собрал короткий чек-лист, который стоит держать в голове:
- Не открывайте переписки с непонятными стикерами от незнакомцев.
- Держите Telegram обновленным на последнюю версию.
- Если приложение зациклилось на вылете, чистите кеш или удаляйте проблемный чат.
- Не паникуйте: данные и аккаунт эта история не затрагивает.
История с 269-байтным стикером в очередной раз показывает, что опасность не всегда приходит в виде сложного вируса. Иногда хватает одной криво собранной картинки, чтобы приложение, которым пользуются сотни миллионов человек, сложилось как карточный домик. Приятно, что дальше отказа в обслуживании дело не идет, но осадочек остается. А если хочется отвлечься от чужих багов и просто полистать годные гаджеты, заглядывайте в наш канал «Сундук Али-Бабы» в МАКС, там мы собираем самое интересное с AliExpress. Ну а Telegram, будем надеяться, свою маленькую звезду смерти скоро обезвредит.