Разделы

Безопасность Техника Открытое ПО

В оконном интерфейсе Linux есть опасные «дыры». Самые древние не могут починить 35 лет

В библиотеках X.Org, реализации X Window System, используемой по умолчанию в ряде популярных дистрибутивов Linux, найдены опасные уязвимости, появившиеся много лет назад в результате ошибок программистов. Возраст наиболее «древних» из выявленных брешей составляет около 35 лет.

Уязвимости возрастом в четверть века и старше

В библиотеках проекта X.Org обнаружен ряд опасных уязвимостей, которые присутствовали в их коде целыми десятилетиями, пишет Phoronix.

Бреши затрагивают библиотеки libxpm и libX11, которые развиваются в составе проекта X.Org.

Среди пяти выявленных брешей две – CVE-2023-43786 и CVE-2023-43787 – возникли в 1988 г. (релиз X11R2). Еще пара ошибок датируются 1998 г. – им присвоены идентификаторы CVE-2023-43788 и CVE-2023-43789. Наконец, CVE-2023-43785 появилась в 1996 г.

Проблемы безопасности устранены в libX11 версии 1.8.7 и libxpm 3.5.17.

Подробнее об уязвимостях

Уязвимость, получившая идентификатор CVE-2023-43786, вызвана возможностью попадания в бесконечный цикл (рекурсию) внутри функции PutSubImage(), реализованной в библиотеке libX11, который позволяет злоумышленнику добиться исчерпания всех доступных системных ресурсов и, как следствие, вызвать состояние отказа в обслуживании (DoS).

В оконной системе Linux найдены опасные «дыры» возрастом более четверти века

Брешь обнаружена Яиром Мизрахи (Yair Mizrahi) из софтверной компании JFrog. Патч подготовил Алан Куперсмит (Alan Coopersmith) из Oracle.

Другая «древняя» уязвимость CVE-2023-43787, которая также датируется 1988 г. и затрагивает библиотеку libX11. Она обусловлена целочисленным переполнением в функции XCreateImage(), приводящим к переполнению «кучи» (heap) из-за отсутствия проверки размера буфера, в который загружаются данные. Проэксплуатировать ее можно при загрузке специальным образом подготовленного изображения формата XPM, которая осуществляется с помощью функции XpmReadFileToPixmap(), как раз и вызывающей XCreateImage().

Ошибка выявлена и устранена упомянутым ранее Яиром Мизрахи. Для предотвращения возникновения подобных ситуаций впредь в библиотеку libxmp были внесены правки, которые вынуждают функцию возвращать код ошибки при любом вызове, который способен вызвать численное переполнение.

Уязвимость CVE-2023-43785 допускает выход за границы буфера в коде libX11 в процессе обработки ответа от X-сервера на запрос XkbGetMap. Эксплуатация бреши позволяет злоумышленнику получить доступ к содержимому памяти.

«Дыра» найдена Грегори Джеймсом Даком (Gregory James Duck), закрыта Аланом Куперсмитом.

Наконец, CVE-2023-43788 и CVE-2023-43789 описывают пару уязвимостей библиотеки libxpm, которые вызваны возможностью чтения из областей, находящихся за пределами границ выделенной памяти.

Первая обнаружена и устранена Яиром Мизрахи, за выявление и исправление второй можно благодарить Алана Куперсмита.

Небезопасный X.Org

X.Org – это свободная реализация оконной системы X Windows System, применяемая в ряде UNIX-подобных операционных систем, в частности, семейств Linux и BSD. Проект развивает X.Org Foundation.

X Window System предоставляет инструменты и протоколы для построения графического интерфейса пользователя.

Александр Бабкин, Газпромбанк: Сейчас иностранные ИБ-решения в Газпромбанке замещены на 65%
безопасность

Libxpm – это библиотека, обеспечивающая работу с графическими файлами формата X Pixmap (XPM). XPM является текстовым форматом графических файлов, который используется X Window System.

LibX11 – библиотека, предоставляющая клиентский интерфейс к X Window System (Xlib); полный API для основных функций оконной системы.

C 2008 г. силами сообщества ведется разработка протокола для организации графического сервера в UNIX-подобных ОС – Wayland, который позиционируется в качестве замены X.Org, имеющего давние проблемы с безопасностью. В рамках проекта Wayland развивается Weston – эталонная реализация композитного менеджера Wayland.

К 2020 г. большинство мейнстримных дистрибутивов GNU/Linux обзавелись поддержкой Wayland. В их числе Fedora, Debian, Red Hat Enterprise Linux (RHEL), Ubuntu.

Дискуссия в метавселенной: ИИ, обмен данными и иммерсивные сценарии
ИТ в банках

В 2018 г. CNews писал об обнаружении в коде X.Org Server «тривиальной» ошибки, которая может привести к повышению привилегий в среде Linux и BSD до уровня суперпользователя (root).

Выявленная в нем ошибка определяется как «некорректная валидация параметра, введенного с командной строки». Злоумышленник получает возможность перезаписывать произвольные файлы.

Повышение привилегий возможно посредством использования аргумента "-modulepath" и установления небезопасного пути к модулям, загружаемым сервером X.Org. Произвольная перезапись файлов возможна с помощью аргумента "-logfile".

Дмитрий Степанов