Исследователи в области безопасности опубликовали полностью рабочий эксплойт для уязвимости удаленного выполнения кода без аутентификации в AnyDesk Linux, которая предоставляет злоумышленникам доступ к root до того, как кто-либо одобрит соединение.
AnyDesk исправил уязвимость в версии 8.0.3 в июне, но в журнале изменений описал исправление только как "исправлена ошибка, которая могла привести к сбою", без присвоения CVE и без официального уведомления о безопасности.
Эксплойт, названный AnyPwn, нацеливается на переполнение буфера кучи в протоколе сессии AnyDesk, инструменте удаленного рабочего стола. Код был опубликован на GitHub 8 октября.
Администраторы должны обновить AnyDesk Linux до версии не ниже 8.0.3. Последний релиз - 8.1.0.
Что демонстрирует эксплойт
Опубликованный эксплойт работает только через прямые TCP-соединения на порту 7070.
Эксплойт является вероятностным: расположение кучи должно помещать целевой объект рядом с переполненным буфером; в противном случае служба сбрасывается вместо выполнения команды злоумышленника. Смещения в опубликованном коде нацелены на конкретную сборку AnyDesk Linux, 8.0.2; другие сборки потребуют других значений.
Исследователи утверждают, что тот же уязвимый код также доступен через релейные серверы AnyDesk, которые программа использует, когда прямое соединение недоступно. Они подтвердили это с помощью триггера инструментирования Frida, но не продемонстрировали полную цепочку эксплуатации через реле.
AnyDesk заявил в июне, что уязвимость "ограничена прямыми соединениями на Linux (соединениями, которые не проходят через наши реле). Windows и macOS не затронуты."
Эксплойт нацелен на AnyDesk Linux 8.0.2. Исследователи подразумевают, что более ранние версии, такие как 8.0.1, могут иметь тот же уязвимый код, но эксплуатация этих версий не была подтверждена.
Исследователи объявили об уязвимости 22 июня. AnyDesk признал её на следующий день и выпустил версию 8.0.3 с исправлением.
На 9 октября CVE не был присвоен уязвимости. AnyDesk не выпустил официальное уведомление о безопасности.
Страница загрузки AnyDesk больше не перечисляет версию 8.0.2, хотя она все еще появляется в журнале изменений. "Похоже, что поставщик удалил (?) сборку 8.0.2 AnyDesk после выпуска нашего видео poc," написали исследователи.
Администраторы, которые не могут обновить немедленно, могут уменьшить уязвимость, ограничив доступ к TCP-порту 7070. Остается неясным, можно ли полностью эксплуатировать уязвимость через релейные соединения.
Как работает уязвимость
Протокол сессии AnyDesk использует пакеты потока режима-5. Обработчик вычисляет размер своего резервирования, добавляя 16-байтный заголовок к заявленной длине полезной нагрузки, используя 32-битную арифметику без проверки на переполнение.
Эксплойт объявляет длину полезной нагрузки 0xFFFFFFF0. Добавление 0x10 оборачивает 32-битный результат в ноль, поэтому распределитель резервирует крошечный буфер, в то время как объект фиксирует оригинальную большую длину. Даже один байт данных злоумышленника затем записывается за пределами резервирования.
Переполнение повреждает поля в соседних объектах кучи, и эксплойт использует цепочку ROP для выполнения произвольной команды от имени root.
Уязвимость была обнаружена Риком де Ягером из команды безопасности V12 с использованием V12, движка для проверки безопасности кода. Основатели V12 ранее создали компанию по безопасности Zellic и возглавляли команду конкурентного взлома Perfect Blue.
Отдельное переполнение буфера кучи AnyDesk, CVE-2025-27918, было исправлено в версии 7.0.0 в апреле 2025 года. Эта уязвимость затрагивала все платформы AnyDesk и была связана с переполнением целого числа при обработке изображений пользователя, что является другим механизмом по сравнению с уязвимостью протокола сессии AnyPwn.
AnyDesk был взломан в начале 2024 года в отдельном инциденте, в котором были нарушены производственные системы компании, что привело к аннулированию сертификатов и принудительным сбросам паролей.
Найдите эту статью интересной? Подписывайтесь на нас в Google News, Twitter и LinkedIn, чтобы читать больше эксклюзивного контента, который мы публикуем.