Kwetsbaarheden in pakketten met Kea DHCP en cyrus-imapd die privilege-escalatie in het systeem mogelijk maken.

In de configuraties van de DHCP-server Kea, die door verschillende distributies worden gebruikt en ontwikkeld door het ISC-consortium als vervanging voor de klassieke ISC DHCP, zijn kwetsbaarheden aangetroffen die in sommige situaties een lokale gebruiker in staat stellen om code met root-rechten uit te voeren of elk bestand in het systeem te overschrijven:

  • CVE-2025-32801 — stelt een lokale gebruiker in staat om root-rechten te verkrijgen op systemen waar Kea draait onder de root-gebruiker, of volledige controle over de Kea-server te verkrijgen op systemen die Kea draaien onder een gebruiker met beperkte privileges. De aanval wordt uitgevoerd via toegang tot de REST API die door de kea-ctrl-agent wordt geleverd en die standaard verzoeken accepteert via localhost:8000. In de meeste configuraties is de REST API toegankelijk voor alle lokale gebruikers van het systeem zonder authenticatie.

    De exploitatie vindt plaats door het verzenden van het commando set-config, waarmee de instellingen van alle Kea-services kunnen worden beheerd. Onder andere kan het commando worden gebruikt om de parameter 'hooks-libraries' te wijzigen, die invloed heeft op het laden van aanvullende handlerbibliotheken. De aanvaller kan bereiken dat zijn code wordt uitgevoerd in de context van de Kea-services door zijn bibliotheek in te voegen, waarvan de functie met het attribuut 'constructor' zal worden aangeroepen bij het openen van de bibliotheek met de functie 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 — de kwetsbaarheid maakt het mogelijk om het commando config-write in de REST API te gebruiken om elk bestand in het systeem te overschrijven, afhankelijk van de rechten van de gebruiker waaronder Kea draait. De aanvaller kan de inhoud die wordt geschreven controleren, maar de gegevens worden in JSON-formaat geschreven en moeten geldige Kea-instellingen bevatten. Het is echter niet uitgesloten dat dit voldoende kan zijn om commando's met root-rechten uit te voeren door manipulatie van bestanden in de map /etc/profile.d. curl -X POST -H "Content-Type: application/json" \ -d '{ "command": "config-write", "arguments": { "filename": "\/etc\/evil.conf" } }' \ localhost:8000

    Er worden verschillende scenario's genoemd voor het gebruik van het config-write commando om Kea-instellingen te wijzigen. Zo kan men logbestanden naar een willekeurige locatie in het bestandssysteem omleiden, UNIX-socket spoofing voor services organiseren of de werking van Kea blokkeren.

  • CVE-2025-32803 – logs (/var/log/kea*.log) en bestanden /var/lib/kea/*.cvs, die bindinginformatie bevatten. IP-adressen (DHCP lease) en bijbehorende gegevens zijn voor iedereen leesbaar.

Het uitvoeren van Kea met root-rechten wordt beoefend in de distributies Arch Linux, Gentoo, openSUSE Tumbleweed (tot 23 mei), FreeBSD, NetBSD (pkgsrc) en OpenBSD. In Debian, Ubuntu en Fedora draait de service onder een aparte niet-geprivilegieerde gebruiker. In Gentoo is het Kea-pakket alleen beschikbaar in de unstable-repository voor de amd64-architectuur. In Ubuntu, in tegenstelling tot andere systemen, werd de kea-ctrl-agent service alleen gestart als in de instellingen toegang tot de REST API met een wachtwoord werd opgegeven. Updates van pakketten in de distributies kunnen worden gevolgd op de pagina's: Debian, Ubuntu, RHEL, openSUSE, Fedora, Gentoo, ALT Linux, Arch, FreeBSD, OpenBSD en NetBSD.

Daarnaast kan de kwetsbaarheid (CVE-2025-23394) worden genoemd, die voorkomt in het IMAP-serverpakket Cyrus dat door het openSUSE-project in de Tumbleweed en Factory repositories wordt geleverd. Deze kwetsbaarheid stelt een lokale gebruiker in staat om privileges op te voeren van gebruiker cyrus naar root. De kwetsbaarheid heeft een kritieke ernst (9.8 van 10) gekregen, maar dat is onterecht verhoogd, omdat voor de aanval de rechten van cyrus nodig zijn, die verkregen kunnen worden door een andere kwetsbaarheid in cyrus-imapd uit te buiten.

Het probleem is veroorzaakt door een fout in de omgang met symbolische links in het script daily-backup.sh, dat specifiek is voor de SUSE/openSUSE distributies. De essentie van de kwetsbaarheid is dat het script daily-backup.sh met root-rechten wordt uitgevoerd, maar schrijft naar de map /var/lib/imap, waar een niet-geprivilegieerde gebruiker cyrus bestanden kan aanmaken. De aanval houdt in dat een symbolische link wordt aangemaakt die naar een systeembestand wijst (bijvoorbeeld kan men een symbolische link /var/lib/imap/mailboxes.txt aanmaken die naar /etc/shadow wijst). De kwetsbaarheid is verholpen in versie 3.8.4-2.1 van het pakket cyrus-imapd.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster