Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book
10-letnia podatność w sudo: każdy nieuprzywilejowany użytkownik może zostać rootem! (działa w domyślnych konfiguracjach sudo) – CVE-2021-3156
W skrócie, Qualys pisze tak:
The vulnerability itself has been hiding in plain sight for nearly 10 years. It was introduced in July 2011 (commit 8255ed69) and affects all legacy versions from 1.8.2 to 1.8.31p2 and all stable versions from 1.9.0 to 1.9.5p1 in their default configuration.
Successful exploitation of this vulnerability allows any unprivileged user to gain root privileges on the vulnerable host.
Dla pewności: unprivileged user to lokalny użytkownik na danej maszynie (podatności nie da się więc wykorzystać zdalnie – bez użycia innego buga).
Luka to podatność klasy buffer overflow (halo, halo, który to mamy rok?), a badacze przygotowali działające exploity na kilka popularnych dystrybucji:
Ubuntu 20.04 (Sudo 1.8.31), Debian 10 (Sudo 1.8.27), Fedora 33 (Sudo 1.9.2).
Nie wszystkie jeszcze dystrybucje się do końca połatały, ale polecamy śledzić dostępne patche i w miarę możliwości jak najszybciej je aplikować – szczególnie ze wymagania startowe do eksploitacji są stosunkowo niskie (może ona zostać wykonana nawet z konta 'nobody’).
–ms
Wielkie dzieki za ostrzezenie! :-)
KDE Neon dziś dostał uaktualnienie. To system oparty o repo Ubuntu więc można wywnioskować że Ubuntu podobne już połatane.
> Luka to podatność klasy buffer overflow (halo, halo, który to mamy rok?)
??
W sofcie non stop sie znajduje – i znajdować będzie – takie podatności, nie wszystko stoi w środowiskach managed.
Dlstego zawsze uważałem, że sudo to zło. Tylko admin ma prawo logować się na root.
Całkowicie popieram twój punkt widzenia; MASZ RACJĘ. Trzeźwo myślisz.
Tylko Admin. ma prawo bycia root-em.
Pozdrawiam.
Sudo może również służyć dla nie-adminów do operacji na programach, które operują na prawach administratorskich:
robal ALL=(root) /bin/systemctl restart NetworkManager
W starych projektach jest mnóstwo niezoptymalizowanego kodu, który może zawierać takie kwiatki, jak opisany w artykule. Co gorsza często długotrwale żyjące aplikacje pisane były jeszcze bez testów, każdy programista ma swój styl (pomimo istnienia standardów kodowania) i oto są skutki.
visudo i zablokować, bo dnf remove sudo nie przejdzie.
Czy problem dotyczy tylko jakpoularniejszego GNU Coreutils/Binutils? A Busybox, Toybox, Cygwin?
sudo to osobny projekt, rozwijany niezależnie od *utilsów: https://www.sudo.ws/sudo/
Jak sprawdzić, czy sudo jest podatne.
sudoedit -s '\’ `perl -e 'print „A” x 65536’`
Dziurawe:
$ sudoedit -s '\’ `perl -e 'print „A” x 75536’`
Segmentation fault (core dumped)
Załatane:
$ sudoedit -s '\’ `perl -e 'print „A” x 75536’`
usage: sudoedit [-AknS] [-r role] [-t type] [-C num] [-g group] [-h host] [-p prompt] [-T timeout] [-u user] file …
https://ubuntu.com/security/CVE-2021-3156
Ile znaleźliście hostów podatnych? Zanim cokolwiek połatałem posprawdzałem i na kilkanaście ani jedno sudo okazało się dziurawe.
No wlasnie sie zdziwilem, gdy na moim ubuntu – (20.04) 3 dni temu podczas aktualizacji zostal tez zaktualizowany sudo, myslalem ze tak stara funkcja w systemie nie potrzebuje juz aktualizacji (nawet zrobilem screena by udokumentowac ta wiekopomna chwile), ale juz wszystko jasne, dzieki za rozwianie watpliwosci ;)