В чатах Telegram распространяется стикер в 269 байт, который приводит к вылету приложения

ca853b9844260eea9bfcf1b429777370.jpg

В чатах Telegram распространяется стикер размером в 269 байт, который приводит к вылету мобильного и десктопного приложения. Внутри стикера спрятана звезда с параметром в 10³⁸ точек. Клиент Telegram пытается её отрисовать, но это приводит к сбою в работе и закрытию приложения ( технический обзор инцидента ).

«Проблема вызвана специально созданным вредоносным стикером Lottie. Стикер содержит красную звезду, конфигурация формы которой включает чрезвычайно большое значение: layers[0].shapes[0].pt.k = 10e38. Это значение принимается серверами Telegram как допустимое/безопасное содержимое стикера. Однако при рендеринге стикера клиентом рендерер интерпретирует это значение как количество точек/лучей звезды.»

«В результате клиент пытается обработать астрономически большое количество геометрических элементов (10^38), исчерпывая ресурсы рендерера и вызывая сбой клиента Telegram. Важное отличие заключается в том, что вредоносный стикер проходит серверную валидацию, но вызывает состояние отказа в обслуживании во время рендеринга на стороне клиента.»

«Поскольку поражённый контент хранится в истории группы, открытие группы заставляет клиента загрузить и отрендерить вредоносный стикер, что приводит к немедленному сбою. Это фактически делает поражённую группу недоступной из клиента. Если такую же нагрузку можно доставить в произвольные группы, проблема потенциально может быть использована как DoS-атака на стороне клиента против групп Telegram.»

03a74c5814b6eb0aed65a12116a1f9d4.jpg

У некоторых пользователей приложение Telegram закрывается сразу после запуска или при открытии чата, где есть проблемный эмодзи.

«Причина скрывается внутри анимированного изображения. Анимированные стикеры Telegram используют формат TGS, построенный на Lottie JSON. Формат описывает векторную графику и параметры анимации, а клиент превращает такое описание в изображение непосредственно на устройстве. В проблемном файле для небольшой звезды задано значение порядка 10^38 точек.»

«При обработке аномального параметра рендерер пытается построить фигуру с практически невозможным количеством элементов, резко увеличивает нагрузку на ресурсы и в итоге завершает работу приложения. Разработчики Telegram Desktop выпустили версию 7.2.7 , где прямо указали исправление сбоев при обработке некорректных Lottie-файлов.»

012b9505f703f728fa7d95a99e5a4745.png

источник

Да я на такой попался.

Всю память мне забил

Комментарии
Пока нету комментариев...