Een kwetsbaarheid in systemd, die mogelijk een privilegeverhoging toestaat

In het systeembeheerder systemd gedetecteerd kwetsbaarheid (CVE-2020-1712), wat mogelijk de uitvoering van eigen code met verhoogde bevoegdheden toelaat door een speciaal opgestelde aanvraag via de DBus-bus te verzenden. Het probleem is opgelost in de testversie systemd 245-rc1 (oplossende patches: 1, 2, 3). De kwetsbaarheid is verholpen in de distributies Ubuntu, Fedora, RHEL (verschijnt in RHEL 8, maar heeft geen invloed op RHEL 7), CentOS, SUSE/openSUSE en ROSA, maar blijft op het moment van schrijven onopgelost in Debian en Arch Linux.

De kwetsbaarheid wordt veroorzaakt door toegang tot een al vrijgegeven geheugengebied (use-after-free), dat optreedt tijdens asynchrone verzoeken naar Polkit tijdens de verwerking van DBus-berichten. Sommige DBus-interfaces gebruiken een cache om objecten tijdelijk op te slaan en wissen de cache-elementen zodra de DBus-bus weer beschikbaar is voor andere verzoeken. Als de DBus-methode gebruik maakt van bus_verify_polkit_async(), moet deze mogelijk wachten op de afronding van de actie in Polkit. Zodra Polkit gereed is, wordt de handler opnieuw aangeroepen en krijgt deze toegang tot eerder toegewezen gegevens in het geheugen. Als het verzoek naar Polkit te lang duurt, kunnen de elementen in de cache worden gewist voordat de handler van de DBus-methode voor de tweede keer wordt aangeroepen.

Van de diensten die de kwetsbaarheid kunnen exploiteren, wordt systemd-machined genoemd, dat de DBus API org.freedesktop.machine1.Image.Clone biedt, wat leidt tot tijdelijke opslagen van gegevens in de cache en asynchrone toegang tot Polkit. De interface
org.freedesktop.machine1.Image.Clone is toegankelijk voor alle niet-geprivilegieerde gebruikers van het systeem die de diensten van systemd kunnen laten crashen of mogelijk code met root-rechten kunnen uitvoeren (de prototype-exploit is nog niet gedemonstreerd). De code die de kwetsbaarheid kan exploiteren, werd is toegevoegd in systemd-machined in 2015 geĆÆntroduceerd in versie systemd 220 (in RHEL 7.x wordt systemd 219 gebruikt).

Bron: opennet.ru

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