Хакер #305. Многошаговые SQL-инъекции
Независимый ИБ-специалист Дхирадж Мишра (Dhiraj Mishra) обнаружил баг, связанный с функцией удаления сообщений в Telegram. Из-за этой проблемы клиент для Android продолжал хранить сообщения на устройствах получателей даже после их «удаления». Для устранения данной ошибки уже была выпущена обновленная версия клиента 5.11.
В марте текущего года Telegram получил функцию, которая позволяет отправителю удалять любые свои сообщения, в том числе и со всех устройств получателей. Изучая протокол MTProto, Мишра обнаружил, что когда отправитель удаляет свое сообщение (а также изображение или файл), оно действительно будет удалено как из истории отправителя, так и из истории получателя, однако все равно останется на устройстве локально. Так, получатель по-прежнему будет иметь возможность просматривать удаленный контент через /Telegram/Telegram Images.
Как оказалось, ошибка распространялась не только на личные беседы и отдельные разговоры, но и на отправку и удаление сообщений из супергрупп Telegram. То есть если пользователь по ошибке отправил в многотысячную группу файл или сообщение, а затем удалил его, каждый член этой огромной группы по-прежнему сможет найти файл в файловой системы своего устройства.
Демонстрацию проблемы в действии Мишра записал на видео и опубликовал на YouTube.
Хотя исследователь сумел воспроизвести ошибку только в клиенте для Android (версии 5.10.0), он полагает, что десктопные и iOS-версии Telegram тоже могут быть подвержены этому багу.
За обнаружение уязвимости специалист получил 2500 долларов вознаграждения, и разработчики Telegram уже выпустили обновленную версию клиента (5.11) для Android и iOS. При этом исследователь подчеркивает, что данный релиз, скорее всего, лишь исправляет саму ошибку, но не удаляет сохранившиеся из-за нее файлы с устройств.