FreeRDP до 3.32.0: ассерт при нечётной ширине региона AVC444 (CVE-2026-109946)
В библиотеке FreeRDP — открытой реализации протокола Remote Desktop Protocol — выявлена уязвимость, получившая идентификатор CVE-2026-109946. Проблема связана с обработкой графических данных в кодеках AVC444 и AVC444v2 и позволяет удалённой стороне инициировать отказ в обслуживании клиентского приложения.
Подробности
Уязвимости подвержены версии FreeRDP начиная с 3.11.0 и до 3.32.0 включительно (исправление ожидается в 3.32.0). При обработке графических регионов AVC444/AVC444v2 клиент не проверяет, что ширина региона является чётной, прежде чем выполнить конвертацию в формат YUV444. Если сервер пришлёт прямоугольник региона с нечётной шириной, значение проходит дальше по цепочке обработки и приводит к срабатыванию ассерта (assertion), что аварийно завершает клиент.
Атака возможна после согласования кодеков AVC444 в рамках расширения RDPGFX. Злоумышленнику или скомпрометированному RDP-серверу достаточно отправить корректный по границам (in-bounds) прямоугольник с нечётной шириной — специальных условий на стороне клиента не требуется. Уязвимость оценена в CVSS 7.1 (HIGH) и относится к классу «Reachable Assertion»: срабатывание проверки, доступной извне, ведёт к прекращению работы приложения.
Практический эффект ограничивается отказом в обслуживании клиента: целостность данных и конфиденциальность сессии не нарушаются, однако внезапное завершение клиента может прервать рабочую сессию и, в зависимости от сценария, привести к потере несохранённых данных. Наибольший риск возникает при подключениях к серверам, которые не находятся под полным контролем пользователя.
Что делать
Основная рекомендация — обновить FreeRDP до версии 3.32.0 или более поздней, где добавлена проверка чётности ширины регионов AVC444/AVC444v2 перед конвертацией в YUV444. До установки обновления можно применять следующие митигации:
- ограничить подключения клиента только к доверенным RDP-серверам, находящимся под контролем организации;
- по возможности отключить использование кодеков AVC444/AVC444v2 в настройках клиента, если это допускает конфигурация;
- отслеживать официальные релизы FreeRDP и оперативно устанавливать патчи;
- учитывать риск при организации сессий через промежуточные шлюзы и недоверенные сети.
Организациям, использующим FreeRDP в составе корпоративных решений, рекомендуется проверить наличие уязвимой версии в парке ПО и включить CVE-2026-109946 в план устранения уязвимостей с приоритетом, соответствующим оценке HIGH.
Уязвимость CVE-2026-109946 — очередное напоминание о том, что обработка графических данных в протоколах удалённого доступа требует строгой валидации входных параметров. Отказ в обслуживании клиента через единственный некорректный пакет от сервера подчёркивает важность своевременного обновления RDP-клиентов и ограничения круга доверенных серверов.
Источник: CVE Project (cvelistV5)
