Техподдержка пришла на помощь, но сама оказалась под ударом. В TeamViewer нашли необычную уязвимость

leer en español

6209
Техподдержка пришла на помощь, но сама оказалась под ударом. В TeamViewer нашли необычную уязвимость

Обычная процедура удалённого доступа неожиданно превращается в ловушку для доверчивого оператора.

image

Компьютер, подключённый к техподдержке для ремонта, может сам стать источником атаки на специалиста. В TeamViewer обнаружили уязвимость, которая позволяет вредоносному удалённому хосту вызвать сбой программы на компьютере оператора, а при определённых условиях выполнить произвольный код. Ошибка получила номер CVE-2026-111585 и оценку 8,8 балла по CVSS 3.1.

Уязвимость обнаружил Омри Дар из Remedio. Для атаки не нужно похищать пароль или получать учётную запись оператора, однако специалист должен сначала установить сеанс с подконтрольным злоумышленнику или уже взломанным компьютером. После соединения вредоносный хост передаёт специально подготовленное изображение экрана, которое обрабатывает приложение на стороне техподдержки.

При открытии сеанса TeamViewer получает от удалённого компьютера ширину, высоту и глубину цвета изображения. По переданным параметрам программа выделяет память для пикселей. Вредоносный хост может отказаться от видеокодеков H.264 и AV1, вынудив клиент перейти к обработке растровых кадров. В такой конфигурации значения, указанные хостом, попадают в уязвимый расчёт размера буфера.

Ошибка возникает из-за 32-битного умножения при выделении памяти. Если задать экран размером 32 768 на 32 768 пикселей с глубиной цвета 32 бита, потребуется около 4,3 ГБ, но переполнение арифметического значения уменьшает выделенный участок примерно до 4 МБ. Декодер сверяет координаты с заявленным размером экрана, а не с реальным объёмом памяти, поэтому записывает данные за границы буфера.

Remedio подтвердила, что специально сформированный кадр способен стабильно завершать TeamViewer на Windows. В лабораторной демонстрации удалось обойти DEP и Control Flow Guard и запустить программу через WinExec. При этом для подготовки памяти использовали подмену данных на стороне хоста. Полный сценарий запуска кода через обычный сетевой обмен в публикации не продемонстрирован.

Атака особенно опасна для сотрудников поддержки, которые регулярно подключаются к чужим компьютерам. В случае успешной эксплуатации код выполняется с правами процесса TeamViewer, но не обязательно с правами администратора. Похожую ошибку недавно нашли в AnyDesk для Linux. Там неверный 32-битный расчёт размера буфера тоже позволял выполнять команды через удалённый доступ.

Уязвимость затронула TeamViewer Full Client для Windows, Linux и macOS, переносную версию для Windows и Remote Control для Android до версии 15.83. В 2017 году другая ошибка TeamViewer уже позволяла участнику соединения переключать направление управления без разрешения партнёра. Нынешняя проблема отличается механизмом и не требует включать обратное управление.

Омри Дар сообщил о находке TeamViewer 14 августа, а 22 октября разработчик подтвердил оценку опасности. Исследовательская компания Remedio раскрыла технические детали 29 октября. TeamViewer выпустила исправление 27 октября в версии 15.83, а также патчи для старых веток. Компания советует обновиться и пока не располагает сведениями о реальных атаках.