W konfiguracjach serwera DHCP Kea używanych przez różne dystrybucje, opracowywanych przez konsorcjum ISC jako alternatywa dla klasycznego ISC DHCP, znaleziono luki, które w niektórych sytuacjach pozwalają lokalnemu użytkownikowi na wykonanie kodu z uprawnieniami root lub nadpisanie dowolnego pliku w systemie:
- CVE-2025-32801 — umożliwia lokalnemu użytkownikowi uzyskanie uprawnień root w systemach, w których Kea jest uruchamiana jako użytkownik root, lub pełną kontrolę nad serwerem Kea w systemach uruchamiających Kea jako użytkownik z ograniczonymi uprawnieniami. Atak przeprowadzany jest przez dostęp do REST API udostępnianego przez serwis kea-ctrl-agent, który domyślnie akceptuje zapytania przez localhost:8000. W większości konfiguracji REST API jest dostępne dla wszystkich lokalnych użytkowników systemu bez potrzeby autoryzacji.
Eksploatacja odbywa się poprzez wysłanie polecenia set-config, które pozwala na zarządzanie ustawieniami wszystkich usług Kea. Między innymi polecenie to może być używane do zmiany parametru „hooks-libraries”, mającego wpływ na załadowanie dodatkowych bibliotek-handlerów. Napastnik może osiągnąć wykonanie swojego kodu w kontekście usług Kea poprzez wstrzyknięcie swojej biblioteki, której funkcja z atrybutem „constructor” zostanie wywołana przy otwieraniu biblioteki funkcją 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 — luka ta umożliwia użycie polecenia config-write w REST API do nadpisania dowolnego pliku w systemie, w zależności od uprawnień użytkownika, pod którym działa Kea. Napastnik może kontrolować zapisywaną zawartość, ale dane są zapisywane w formacie JSON i muszą zawierać prawidłowe ustawienia Kea. Niemniej jednak, istnieje możliwość, że to może być wystarczające do uruchomienia poleceń z uprawnieniami root poprzez manipulację plikami w katalogu /etc/profile.d. curl -X POST -H "Content-Type: application/json" \ -d '{ "command": "config-write", "arguments": { "filename": "/etc/evil.conf" } }' \ localhost:8000
Osobno wspomniano o kilku scenariuszach użycia komendy config-write do zmiany ustawień Kea. Na przykład, można przekierować pliki logów w dowolne miejsce w systemie plików, zorganizować spoofing gniazd UNIX dla usług lub zablokować działanie Kea.
- CVE-2025-32803 — logi (/var/log/kea*.log), a także pliki /var/lib/kea/*.cvs, zawierające informacje o przypisaniach adresów IP (DHCP leasingu) i towarzyszące dane są dostępne dla wszystkich w trybie tylko do odczytu.
Uruchamianie Kea z prawami root jest stosowane w dystrybucjach Arch Linux, Gentoo, openSUSE Tumbleweed (do 23 maja), FreeBSD, NetBSD (pkgsrc) i OpenBSD. W Debianie, Ubuntu i Fedorze usługa była uruchamiana pod osobnym użytkownikiem bez uprawnień. W Gentoo pakiet z Kea jest dostępny tylko w repozytorium unstable dla architektury amd64. W Ubuntu, w przeciwieństwie do innych systemów, usługa kea-ctrl-agent była uruchamiana tylko wtedy, gdy w ustawieniach dostępu do REST API wskazano hasło. Można śledzić publikację aktualizacji pakietów w dystrybucjach na stronach: Debian, Ubuntu, RHEL, openSUSE, Fedora, Gentoo, ALT Linux, Arch, FreeBSD, OpenBSD i NetBSD.
Dodatkowo można zauważyć podatność (CVE-2025-23394), która występuje w pakiecie z serwerem IMAP Cyrus, dostarczanym przez projekt openSUSE w repozytoriach Tumbleweed i Factory. Podatność umożliwia lokalnemu użytkownikowi podniesienie uprawnień z użytkownika cyrus do root. Przypisano krytyczny poziom niebezpieczeństwa (9.8 w skali 10), jednak jest on bezpodstawnie zawyżony, ponieważ do przeprowadzenia ataku wymagane są uprawnienia cyrus, które można uzyskać poprzez wykorzystanie innej podatności w cyrus-imapd.
Problem jest spowodowany błędem w skrypcie daily-backup.sh, specyficznym dla dystrybucji SUSE/openSUSE. Istota podatności polega na tym, że skrypt daily-backup.sh jest uruchamiany z prawami root, ale zapisuje w katalogu /var/lib/imap, w którym może tworzyć pliki nieuprzywilejowany użytkownik cyrus. Atak polega na stworzeniu symbolic linka wskazującego na plik systemowy (na przykład można stworzyć symbolic link /var/lib/imap/mailboxes.txt, wskazujący na /etc/shadow). Podatność została usunięta w wersji pakietu cyrus-imapd 3.8.4-2.1.
Źródło: opennet.ru
