X.Org Server и XWayland получили срочные обновления безопасности

Разработчики X.Org выпустили xorg-server 21.1.23 и XWayland 24.1.12, закрыв сразу девять уязвимостей в X.Org X Server и XWayland. Исправления опубликованы 2 июня 2026 года; в официальном каталоге X.Org уже доступны исходные архивы xorg-server-21.1.23 и xwayland-24.1.12.
Проблемы затрагивают как классический X.Org Server, так и XWayland — компонент, через который X11-приложения работают внутри Wayland-сеанса. Поэтому обновление важно не только для пользователей полноценного X11-сеанса, но и для тех, кто уже перешёл на Wayland, но продолжает запускать старые X11-приложения и игры.
CVE на момент раскрытия ещё не были назначены, поэтому в бюллетене уязвимости указаны через идентификаторы ZDI-CAN и описания проблем. Восемь ошибок переданы анонимным исследователем через TrendAI Zero Day Initiative, ещё одну обнаружил разработчик Red Hat и давний участник X.Org Питер Хаттерер.
Что исправлено
-
Переполнение стекового буфера при обработке font alias. Ошибка возникала из-за несоответствия ограничений в X server и
libXfont2: сервер выделял буфер на 256 байт, тогда как имя цели alias могло достигать 1024 байт. Специально подготовленный font alias длиной от 257 до 1023 байт мог привести к записи за пределы буфера. -
Use-after-free в XSYNC
miSyncDestroyFence(). Клиент мог создать несколько fence-триггеров, ожидать их срабатывания, а затем через второе соединение уничтожить fence. Это приводило к обращению к уже освобождённой памяти и потенциальному вызову освобождённого указателя функции. -
Переполнение стековых буферов в XKB Key Types. В коде проверки типов клавиш
CheckKeyTypes()не выполнялось достаточное ограничение нестандартных типов клавиш поXkbMaxShiftLevel. В результате клиент мог задать чрезмерное число уровней переключения и спровоцировать несколько переполнений стека. Отдельно отмечено, что проблема связана с неполным исправлением прошлой уязвимости CVE-2025–26597. -
Переполнение стекового буфера в XKB SetMap Request. В функции
_XkbSetMapChecks()использовался фиксированный массивmapWidths[256], индексируемый по номеру типа клавиши. При контролируемом клиентом смещении вспомогательная функция могла записать данные за пределы этого массива. -
Use-after-free в XSYNC
FreeCounter(). Уязвимость проявлялась при работе с несколькимиSyncCounter: один клиент мог ожидать срабатывания триггеров, а второе соединение — уничтожить соответствующие счётчики, что приводило к обращению к освобождённой памяти. -
Use-after-free в XSYNC
SyncChangeCounter(). Похожий сценарий затрагивал изменение счётчиков: при одновременной работе нескольких соединений клиент мог добиться обращения к уже освобождённомуSyncCounterво время изменения его состояния. -
Чтение и запись за пределами буфера в GLX
ChangeDrawableAttributes. В обработчике__glXDisp_ChangeDrawableAttributes()была неверная проверка размера запроса. Это позволяло читать или записывать контролируемое клиентом количество байт за пределами буфера запроса. Чтение могло привести к раскрытию информации, запись — к падению сервера, а при запуске X server от root теоретически открывала путь к повышению привилегий. -
Use-after-free и утечка информации в
CreateSaverWindow. Клиент мог изменить атрибуты окна и принудительно активировать хранитель экрана, после чего сервер обращался к уже освобождённым данным. В бюллетене это описано как сценарий, способный привести к раскрытию информации. -
Запись за пределами heap в DRI2
DRIGetBuffers/DRIGetBuffersWithFormat. Ошибка возникала при запросе несколькихDRI2BufferBackLeftи одногоDRI2BufferFrontLeft. Такой запрос мог привести к записи за пределами выделенной области памяти в куче. Это единственная из девяти проблем, найденная не через TrendAI ZDI, а Питером Хаттерером.
Отдельных новых возможностей в этом выпуске не заявлено: 21.1.23 и 24.1.12 — прежде всего исправляющие релизы безопасности. Пользователям и сопровождающим дистрибутивов рекомендуется обновить оба пакета: xorg-server для классического X11 и xwayland для совместимости X11-приложений в Wayland-сеансах.
>>> Источник
