Local root exploit in systemd v228 mogelijk

In systemd v228 was een jaar geleden een fout opgelost waarvan de ontwikkelaars dachten dat het alleen voor een denial-of-service aanval uitgebuit kon worden. Een ontwikkelaar van het SUSE Security Team ontdekte dat de fout ook een local root exploit mogelijk maakt.

In systemd, het init-systeem waarnaar vele Linux-distributies de laatste jaren zijn overgestapt, werd een jaar geleden een fout opgelost waarbij een gebruiker de directory /run kon vullen en zo een denial-of-service aanval uitvoeren. Omdat de aanval alleen lokaal uit te buiten was, beschouwden de ontwikkelaars van systemd het niet als een belangrijke fout en vroegen ze geen CVE ID aan.

Gevaarlijker dan gedacht

Sebastian Krahmer van het SUSE Security Team ontdekte echter dat een lokale gebruiker dankzij de fout willekeurige code als root kan uitvoeren. Wanneer je op systemd v228 timers gebruikt, creëert het systeem bestanden met suid-bit die door iedereen beschrijfbaar zijn. Een aanvaller is dan in staat om zo'n bestand met een willekeurig programma te overschrijven en dit zo als rootgebruiker uit te voeren.

Draai je een kwetsbare systemd?

De fout (die ondertussen wel een CVE ID heeft gekregen) is opgelost in systemd v229. Ze was slechts aanwezig in Git van november 2015 tot januari 2016. Als je nog een Linux-distributie draait die niet up-to-date is, bekijk je het best of je kwetsbaar bent. De versie van je systemd-installatie vraag je op met de opdracht:

systemd --version

Kijk voor de zekerheid ook na of je geen timers met suid-bit hebt:

ls -la /var/lib/systemd/timers/

Als je een bestand ziet met permissies -rwsrwsrwt ben je kwetsbaar. Dat los je op door de permissies aan te passen naar 0644 of het bestand te verwijderen. Dat eerste doe je met:

sudo chmod 0644 /var/lib/systemd/timers/stamp-fstrim.timer

Deel dit artikel
Voeg toe aan favorieten