Опубликован корректирующий выпуск библиотеки libXpm 3.5.15, развиваемой проектом X.Org и применяемой для обработки файлов в формате XPM. В новой версии устранены три уязвимости, две из которых (CVE-2022-46285, CVE-2022-44617) приводят к зацикливанию при обработке специально оформленных файлов XPM. Третья уязвимость (CVE-2022-4883) позволяет запустить произвольные команды при выполнении приложений, использующих libXpm. При запуске связанных с libXpm привилегированных процессов, например, программ с флагом suid root, уязвимость даёт возможность поднять свои привилегии.
Уязвимость вызвана особенностью работы libXpm со сжатыми файлами XPM – при обработке файлов XPM.Z или XPM.gz библиотека при помощи вызова execlp() запускает внешние утилиты распаковки (uncompress или gunzip), путь к которым вычисляется на основе переменной окружения PATH. Атака сводится к размещению в доступном пользователю каталоге, присутствующем в списке PATH, собственных исполняемых файлов uncompress или gunzip, которые будут выполнены в случае запуска приложения, использующего libXpm.
Уязвимость устранена заменой вызова execlp на execl с использованием абсолютных путей к утилитам. Дополнительно добавлена сборочная опция “–disable-open-zfile” позволяющая отключить обработку сжатых файлов и вызов внешних утилит для распаковки.