В применяемых различными дистрибутивами конфигурациях DHCP-сервера Kea, развиваемого консорциумом ISC в качестве замены классического ISC DHCP, выявлены уязвимости, в некоторых ситуациях позволяющие локальному пользователю выполнить код с правами root или перезаписать любой файл в системе:
- CVE-2025-32801 — позволяет локальному пользователю получить root-привилегии в системах, в которых Kea запускается под пользователем root, или получить полный контроль над сервером Kea в системах, запускающих Kea под пользователем с урезанными привилегиями. Атака осуществляется через обращение к REST API, предоставляемому сервисом kea-ctrl-agent и по умолчанию принимающему запросы через localhost:8000. В большинстве конфигураций REST API доступен для всех локальных пользователей системы без прохождения аутентификации.
Эксплуатация осуществляется через отправку команды set-config, позволяющей управлять настройками всех сервисов Kea. Среди прочего команда может использоваться для изменения параметра «hooks-libraries», влияющего на загрузку дополнительных библиотек-обработчиков. Атакующий может добиться выполнения своего кода в контексте сервисов Kea через подстановку своей библиотеки, функция с атрибутом «constructor» из которой будет вызвана при открытии библиотеки функцией dlopen(). curl -X POST -H «Content-Type: application/json» \ -d ‘{ «command»: «config-set», «arguments»: { «Control-agent»: {«hooks-libraries»: [{«library»: «/home/someuser/libexploit.so»}] }}}’ \ localhost:8000
- CVE-2025-32802 — уязвимость даёт возможность использовать команду config-write в REST API для перезаписи любого файла в системе, насколько позволяют права пользователя, под которым выполняется Kea. Атакующий может контролировать записываемое содержимое, но данные записываются в формате JSON и должны включать корректные настройки Kea. Тем не менее, не исключается, что этого может быть достаточно для запуска команд с правами root через манипуляцию с файлами в каталоге /etc/profile.d. curl -X POST -H «Content-Type: application/json» \ -d ‘{ «command»: «config-write», «arguments»: { «filename»: «/etc/evil.conf» } }’ \ localhost:8000
Отдельно упоминается несколько сценариев использования команды config-write для изменения настроек Kea. Например, можно перенаправить лог файлы в произвольное место файловой системы, организовать спуфинг управляющих UNIX-сокетов сервисов или блокировать работу Kea.
- CVE-2025-32803 — логи (/var/log/kea*.log), а также файлы /var/lib/kea/*.cvs, содержащие информацию о привязке IP-адресов (DHCP lease) и сопутствующие данные, доступны всем на чтение.
Запуск Kea с правами root практикуется в дистрибутивах Arch Linux, Gentoo, openSUSE Tumbleweed (до 23 мая), FreeBSD, NetBSD (pkgsrc) и OpenBSD. В Debian, Ubuntu и Fedora сервис запускался под отдельным непривилегированным пользователем. В Gentoo пакет с Kea доступен только в unstable-репозитории для архитектуры amd64. В Ubuntu, в отличие от других систем, сервис kea-ctrl-agent запускался только в случае указания в настройках доступа к REST API по паролю. Проследить за публикацией обновлений пакетов в дистрибутивах можно на страницах: Debian, Ubuntu, RHEL, openSUSE, Fedora, Gentoo, ALT Linux, Arch, FreeBSD, OpenBSD и NetBSD.
Дополнительно можно отметить уязвимость (CVE-2025-23394), проявляющуюся в пакете с IMAP-сервером Cyrus, поставляемом проектом openSUSE в репозиториях Tumbleweed и Factory. Уязвимость даёт возможность локальному пользователю поднять привилегии с пользователя cyrus до root. Уязвимости присвоен критический уровень опасности (9.8 из 10), но он необоснованно завышен, так как для атаки требуется наличие прав cyrus, которые можно получить через эксплуатацию какой-то иной уязвимости в cyrus-imapd.
Проблема вызвана ошибкой при работе с символическими ссылками в скрипте daily-backup.sh, специфичном для дистрибутивов SUSE/openSUSE. Суть уязвимости в том, что скрипт daily-backup.sh запускается с правами root, но производит запись в каталог /var/lib/imap, в котором может создавать файлы непривилегированный пользователь cyrus. Атака сводится к созданию символической ссылки, указывающей на системный файл (например, можно создать символическую ссылку /var/lib/imap/mailboxes.txt, указывающую на /etc/shadow). Уязвимость устранена в версии пакета cyrus-imapd 3.8.4-2.1.
Աղբյուր: opennet.ru
