Вразливості в DHCP-сервері Kea: потенційні ризики для безпеки системи
Вразливості в DHCP-сервері Kea: потенційні ризики для безпеки системи
У застосовуваних різними дистрибутивами конфігураціях DHCP-сервера Kea, який розвивається консорціумом ISC як заміна класичного ISC DHCP, виявлено вразливості. У деяких ситуаціях вони дозволяють локальному користувачеві виконати код з правами root або перезаписати будь-який файл у системі.
Розбір вразливостей у DHCP-сервері Kea
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
Додаткові вразливості DHCP-сервера
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 у безпеці DHCP-сервера Kea
CVE-2025-32803 – логи (/var/log/kea*.log), а також файли /var/lib/kea/*.cvs, що містять інформацію про прив’язку IP-адрес (DHCP lease) та супутні дані, доступні всім на читання.
Системи з вразливостями DHCP-сервера
Запуск Kea з правами root практикується в дистрибутивах Arch Linux, Gentoo, openSUSE Tumbleweed (до 23 травня), FreeBSD, NetBSD та OpenBSD. В Debian, Ubuntu та Fedora сервіс запускався під окремим непривілейованим користувачем. В Gentoo пакет з Kea доступний тільки в unstable-репозиторії для архітектури amd64.
Крім того, можна відзначити вразливість (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.
Для отримання додаткової інформації про вразливості DHCP-сервера Kea відвідайте офіційний сайт Kea. Офіційне оголошення про вразливості можна знайти на сторінці безпеки openSUSE.