Исследователи безопасности опубликовали полностью рабочий эксплойт для уязвимости удаленного выполнения кода до аутентификации в 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, хотя она все еще упоминается в списке изменений. «Поставщик, похоже, удалил (?) сборку AnyDesk 8.0.2 после выпуска нашего видео с PoC», — написали исследователи.
Администраторы, которые не могут немедленно обновиться, могут снизить риски, ограничив доступ к TCP-порту 7070. Вопрос о полной эксплуатируемости уязвимости через ретрансляционные соединения остается открытым.
Протокол сеансов AnyDesk использует пакеты потока mode-5. Обработчик вычисляет размер выделения памяти, добавляя 16-байтовый заголовок к заявленной длине полезной нагрузки, используя 32-битные арифметические операции без проверки переполнения.
Эксплойт объявляет длину полезной нагрузки 0xFFFFFFF0. Добавление 0x10 приводит к обнулению 32-битного результата, поэтому аллокатор резервирует крошечный буфер, в то время как объект записывает исходную большую длину. Даже один байт данных злоумышленника затем записывается за пределы выделенной области.
Переполнение повреждает поля в соседних объектах кучи, и эксплойт использует ROP-цепочку для выполнения произвольной команды от имени root.
Уязвимость была обнаружена Риком де Ягером из команды V12 security с использованием V12, движка для анализа безопасности кода. Основатели V12 ранее создали компанию по безопасности Zellic и возглавляли команду соревнующихся хакеров Perfect Blue.
Отдельное переполнение буфера в куче AnyDesk, CVE-2025-27918, было исправлено в версии 7.0.0 в апреле 2025 года. Эта уязвимость затрагивала все платформы AnyDesk и включала целочисленное переполнение при обработке изображений пользователей, что является иным механизмом, чем уязвимость протокола сеансов AnyPwn.
AnyDesk был взломан в начале 2024 года в результате отдельного инцидента, когда были скомпрометированы производственные системы компании, что привело к отзыву сертификатов и принудительному сбросу паролей.
Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.
Автор – Swati Khandelwal




