Уязвимость в libXpm, приводящая к выполнению кода

Опубликован корректирующий выпуск библиотеки 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» позволяющая отключить обработку сжатых файлов и вызов внешних утилит для распаковки.

Источник: http://www.opennet.ru/opennews/art.shtml?num=58524