Опубликованы корректирующие выпуски X.Org Server 21.1.9 и DDX-компонента (Device-Dependent X) xwayland 22.2.2, обеспечивающего запуск X.Org Server для организации выполнения X11-приложений в окружениях на базе Wayland. В новых версиях устранены уязвимости, которые потенциально могут быть эксплуатированы для повышения привилегий в системах, в которых X-сервер выполняется с правами root, а также для удалённого выполнения кода в конфигурациях, в которых для доступа используется перенаправление сеанса X11 при помощи SSH.
Выявленные проблемы:
- CVE-2023-5367 –
переполнение буфера в функциях XIChangeDeviceProperty и RRChangeOutputProperty, которое может быть эксплуатировано через прикрепление дополнительных элементов к свойству устройства ввода или свойству randr. Уязвимость проявляется начиная с выпуска xorg-server 1.4.0 (2007 год) и вызвана вычислением некорректного смещения при прикреплении дополнительных элементов к существующим свойствам, из-за чего элементы добавляются с неверным смещением, приводящим к записи в область памяти за пределами выделенного буфера. Например, при прикреплении 3 элементов к существующим 5 элементам, будет выделена память под массив из 8 элементов, но ранее существующие элементы будут сохранены в новый массив начиная с индекса 5, а не 3, что приведёт к записи последних двух элементов за границу буфера. - CVE-2023-5380 – обращение к памяти после её освобождения (use-after-free) в функции DestroyWindow. Проблема может быть эксплуатирована через перемещение указателя между экранами в многомониторных конфигурациях в режиме zaphod, в котором для каждого монитора создаётся свой экран, и вызова функции закрытия клиентского окна. Уязвимость проявляется начиная с выпуска xorg-server 1.7.0 (2009 год) и вызвана тем, что после закрытия окна и освобождением связанной с ним памяти, в структуре обеспечивающем привязку к экрану остаётся активный указатель на прошлое окно. Xwayland рассматриваемой уязвимости не подвержен.
- CVE-2023-5574 –
обращение к памяти после её освобождения (use-after-free) в функции DamageDestroy. Уязвимость может быть эксплуатирована в сервере Xvfb в процессе очистки структуры
ScreenRec во время завершения работы сервера или отсоединения последнего клиента. Как и прошлая уязвимость проблема проявляется только в многомониторных конфигурациях в режиме Zaphod. Уязвимость присутствует начиная с выпуска xorg-server-1.13.0 (2012 год) и пока остаётся неисправленной (исправление только в виде патча).
Кроме устранения уязвимостей в xwayland 23.2.2 также осуществлён переход с библиотеки libbsd-overlay на libbsd и прекращено автоматическое подключение к интерфейсу RemoteDesktop XDG Desktop Portal для определения сокета, используемого для отправки композитному серверу событий XTest. Автоматическое подключение создавало проблемы при запуске Xwayland во вложенном композитном сервере, поэтому в новой версии для подключения к порталу необходимо явно указывать опцию “-enable-ei-portal”.