Sudo, som står för ”superuser do” är ett av de viktigaste och mest använda säkerhetsverktygen i Linux, Unix och även i terminalen på Mac OS X. Sudo används för att en användare ska kunna köra ett program eller ett kommando som en annan användare, oftast root. Det gör sudo till ett av de sista verktygen som man önskar har en bugg, men nu har det ändå hänt, rapporterar The Hacker News.
I grundläget för de flesta *nix-system tillåts alla användare att köra kommandon som root genom sudo. Detta kan dock justeras i filen /etc/sudoers/ där administratörer kan sätta restriktioner som till exempel innebär att en specifik användare inte kan köra specifika kommandon ens via sudo. Den bugg (registrerad som CVE-2019-14287) som upptäcktes av Joe Vennix på Apple Information Security gör att en användare kan gå runt eventuella restriktioner i /etc/sudoers.
De system som behåller sudo i sin grundkonfiguration, troligen de allra flesta, påverkas inte av buggen – i dessa system kan som sagt alla köra som root via sudo i vilket fall som helst. De som dock infört särskilda restriktioner i /etc/sudoers har troligen desto större anledning att oroa sig över buggen.
Egentligen mycket enkelt
Det hela är egentligen mycket enkelt. Allt en användare behöver göra är att köra ett kommando med sudo, men ange sitt användar-id som -1 eller 4294967295, alltså sudo -u#-1 -u eller sudo -u#4294967295 -u. Funktionen som konverterar användar-id till användarnamn tolkar felaktigt -1 eller 4294967295 som 0, vilket alltid är användar-id:t för root. 4294967295 är den osignerade heltalsekvivalenten för -1.
Ovanpå detta kommer att eftersom root (alltså 0) inte finns i lösenordsdatabasen, så körs inga PAM-moduler (Pluggable Authentication Module) vilket hade inneburit ytterligare kontroller, samt att sudo är designat så att användaren som kör sudo bara behöver ange sitt eget lösenord, inte lösenordet för den användare användaren vill köra som.
Sårbarheten gäller alla versioner av sudo utom den senaste versionen 1.8.28 som släpptes igår. Den senaste versionen kommer att rullas ut med diverse uppdateringar av linux-distributionerna, men de systemadministratörer som vill vara helt säkra och agera snabbt kan uppdatera sudo-paketet manuellt.
Läs också:
Ny funktion i Linux låser kärnan – även för root
Mikko Hyppönen: Smarta saker är det nya digitala asbest