Säkerhetsbrist i sudo
En ny säkerhetsbrist har identifierats i mjukvaran sudo. Sudo som installeras som standard i många operativsystem är som standard setuid root. Det innebär att eventuella brister kan leda till att lokala användare kan erhålla root-behörigheter.
Med åren har också sudo blivit större och fler funktioner har tillkommit. Detta har bl.a. lett till att OpenBSD nu har ett alternativ som heter doas.
Igår så rapporterade det amerikanska säkerhetsföretaget Qualys att de identifierat en sårbarhet i sudo (CVE-2021-3156). Sårbarheten medger att en lokal användare kan utnyttja en heap-sårbarhet och således bli root. Buggen har funnits sedan 2011 och återfinnes i standardkonfigurationen. Att det just finns med i standardkonfigurationen är viktigt att poängtera eftersom många sårbarheter som uppdagats i sudo kräver speciella konfigurationer.
Sårbarheten återfinnes i funktionen set_cmnd() och kan enklast triggas enklast genom att använda sudoedit och följande kommando:
sudoedit -s '\' `perl -e 'print "A" x 65536'`
Och är du sårbar så får du en segfault. Observera att du behöver lokalt konto men inte medlem i sudoers eller motsvarande. Samt att alla installationer inte har sudoedit, såsom macOS.
Video från Qualys som förevisar sårbarheten:
Om du som jag undrar lite över sudos logotyp, så se XKCD här.