Проект FreeRDP анонсировал версию 3.29: обновление с акцентом на безопасность для популярной открытой реализации RDP от Microsoft. Учитывая количество и серьёзность устранённых проблем, разработчики настоятельно рекомендуют пользователям обновиться.

Ключевым изменением стало устранение 22 уязвимостей. Этот выпуск появился после тщательной проверки несколькими исследователями безопасности со времени предыдущей версии. Уязвимости затрагивают разные области протокола и мультимедийного стека FreeRDP.

Код обработки сертификатов во FreeRDP стал более устойчивым к значениям X.509 со встроенными нулевыми символами. Ряд исправлений касаются видеодекодеров FreeRDP. Реализация H.264 исправляет несоответствия размеров поверхностей и другие проблемы декодирования. Декодер AV1 теперь ограничивает вывод фактическим размером кадра, а дополнительные проверки проверяют прямоугольники областей AV1, что аналогично уже существующей обработке AVC.

Перенаправление камеры также получило значительные обновления. FreeRDP 3.29 теперь отфильтровывает неподдерживаемые устройства, добавляет проверки достоверности входящих данных и исправляет чтение дескрипторов конфигурации камеры.

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

Помимо улучшения безопасности, FreeRDP 3.29 добавляет аутентификацию по токену FedAuth для RDSTLS. Пользователи Linux на десктопах получают несколько исправлений. SDL-клиент теперь надёжнее обрабатывает запрошенные форматы MIME буфера обмена, улучшая совместимость между локальными и удалёнными сеансами. X11-клиент также решает проблему с разворачиванием окон HiDef RemoteApp.

Поддержка RemoteApp улучшена за счёт более согласованной обработки Unicode-строк RAIL, более качественной обработки сообщений RAIL-сервера и исправленной проверки длины данных об имени приложения, поступающих от удалённых систем.

Перенаправление смарт-карт получило несколько изменений: перестроена обработка выделения памяти, ужесточены требования к командам выбора по идентификатору файла в виртуальной реализации смарт-карт, а также исправлена длина буфера, исключающая заполнение NDR.

К прочим обновлениям относятся проверки выделения памяти при перенаправлении последовательных устройств, исправленная проверка входных данных планарного кодека, улучшенная обработка асинхронных обновлений и проверка размера ответа сервера в Windows-клиенте.

Наконец, в выпуск включены технические исправления для мобильных платформ, в том числе обновления сборки Android и несколько исправлений компиляции и предупреждений для iOS.

Подробнее смотрите в анонсе. Исходные архивы доступны на странице релизов проекта. Пользователям рекомендуется установить обновлённые пакеты, как только они появятся в репозиториях их дистрибутивов Linux.