Ubuntu 28 июля выпустила бюллетень USN-8561-2 и исправила регрессию FreeRDP, появившуюся после недавнего перехода на версию 3.30.0. Пакет закрывал уязвимости, связанные с утечкой данных, отказом в обслуживании и выполнением кода; побочным эффектом стала поломка буфера обмена в удалённых сеансах. Исправленные пакеты доступны для Ubuntu 24.04 LTS и Ubuntu 26.04 LTS.

Переход на FreeRDP 3.30.0 нарушил копирование через RDP
История началась 20 июля, когда Ubuntu опубликовала бюллетень USN-8561-1 и перевела FreeRDP на версию 3.30.0. Обновление устраняло сразу несколько уязвимостей. По данным Canonical, злоумышленник мог использовать их для получения конфиденциальной информации, аварийного завершения FreeRDP или выполнения произвольного кода.
FreeRDP — свободная реализация протокола Remote Desktop Protocol. Через неё Linux-системы подключаются к удалённым рабочим столам Windows, а отдельные компоненты используют библиотеку FreeRDP для приёма RDP-подключений. Буфер обмена позволяет переносить текст и другие данные между локальной и удалённой машинами, поэтому его сбой быстро превращается из мелкой неприятности в рабочую проблему.
После установки версии 3.30.0 часть пользователей обнаружила, что копирование между Windows-клиентом и Ubuntu перестало работать. Особенно заметно это было в связке Windows Remote Desktop и GNOME Remote Desktop, где FreeRDP обслуживает серверную часть соединения.
Данные крупнее 1600 байт останавливали канал буфера обмена
Подробности появились в отчёте FreeRDP на GitHub, опубликованном 23 июля. Автор воспроизвёл сбой на Ubuntu 26.04 с GNOME Remote Desktop 50.0 и стандартным RDP-клиентом Windows.
Проблема проявлялась после передачи фрагмента текста объёмом свыше примерно 1600 байт. Компонент ChannelPduTracker, добавленный в более новых версиях FreeRDP, отклонял крупные блоки данных, хотя RDP-сервер предварительно сообщал клиенту, что способен принимать блоки размером до 16 256 байт.
Получалось рассогласование внутри одного соединения: клиент отправлял разрешённый протоколом объём, а FreeRDP считал пакет слишком большим. После первой такой передачи поток cliprdr, отвечающий за перенаправление буфера обмена, завершал работу. Последующие операции копирования зависали или завершались по тайм-ауту до повторного подключения.
Почему сбой оказался таким заметным? Короткие фразы могли передаваться нормально, а длинный текст, фрагмент конфигурации или содержимое документа внезапно отключали буфер обмена на весь оставшийся сеанс. Из-за этого проблема выглядела непредсказуемой и могла зависеть от конкретного содержимого.
Ubuntu выпустила обновленные пакеты FreeRDP
Canonical признала регрессию и 28 июля опубликовала USN-8561-2. В бюллетене компания прямо указала, что переход на FreeRDP 3.30.0 нарушил работу буфера обмена, и принесла извинения за неудобства.
Исправление распространяется через обычные репозитории Ubuntu. Актуальные версии пакетов выглядят так:
| Выпуск Ubuntu | Исправленная версия FreeRDP |
| Ubuntu 26.04 LTS | 3.30.0+dfsg-0ubuntu0.26.04.2 |
| Ubuntu 24.04 LTS | 3.30.0+dfsg-0ubuntu0.24.04.2 |
Для Ubuntu 26.04 обновлены пакеты freerdp-x11, freerdp3-x11 и libfreerdp3-3. В Ubuntu 24.04 исправление получили freerdp3-x11, libfreerdp3-3 и libwinpr-tools3-3.
Установить исправление можно через стандартный менеджер обновлений Ubuntu. В терминале достаточно обновить сведения о пакетах и установить доступные обновления:
sudo apt update
sudo apt upgradeПосле установки пакетов текущий RDP-сеанс лучше завершить и подключиться заново, чтобы приложения загрузили обновлённые библиотеки FreeRDP.
Регрессия закрыта через восемь дней после исходного обновления
Цепочка событий заняла чуть больше недели. 20 июля Ubuntu распространила FreeRDP 3.30.0 как обновление безопасности, 23 июля появился подробный отчёт с воспроизводимым сценарием, а 28 июля Canonical выпустила исправленные пакеты.
Для домашних пользователей проблема затрагивала копирование текста между компьютерами. В корпоративной среде последствия были шире: RDP часто используют администраторы, службы поддержки и разработчики, которым приходится переносить команды, журналы, адреса и фрагменты конфигурации. Поломка буфера обмена заставляла переключаться на файлы, чаты или ручной ввод.
Системы Ubuntu 24.04 LTS и 26.04 LTS с FreeRDP 3.30.0 стоит довести до пакетов с окончанием .2. Исправление сохраняет защиту от уязвимостей из USN-8561-1 и возвращает нормальную работу буфера обмена в затронутых RDP-сценариях.