Kritičan bag u sudo-u
Ako do sada niste znali, svaki ulogovani korisnik bez privilegija može da zloupotrebi bag u sudo-u da bi dobio privilegije za root. Ovo je već označeno kao problem visokog rizika za operativne sisteme bazirane na Linux-u i Unix-u. Nedavno je otkriveno da ovaj propust postoji već skoro 10 godina i da dozvoljava lokalnom korisniku da dobije pristup root-u bez autentifikacije (bez potrebe za unosom korisničke lozinke). Iz tog razloga je potrebno da što pre instalirate zakrpe na vaš operativni sistem.
Sistem administratori koriste sudo komandu da bi dobili određena korisnička prava, recimo za restartovanje Nginx ili Apache servera za potrebe upravljanja serverima.
U suštini postoje dva kritična sudo propusta:
Lokalni napadač može da zloupotrebi taj problem da bi dobio pristup adminstratorskom nalogu (CVE-2021-3156) Otkriveno je da sudoedit alat nepravilno upravlja proverom privilegija za pristup direktorijumima. Lokalni napadač može da iskoristi ovaj propust da zaobiđe prava pristupa fajlovima i sazna da li direktorijum postoji ili ne (CVE-2021-23239)
CVE-2021-3156 prelivanje bafera (buffer overflow) u sudoedit-u (Baron Samedit)
Sudo je moćan alat koji je uključen u najveći broj (ako ne i u sve) Linux i Unix sistema. On dozvoljava korisniku da pokrene programe sa bezbednosnim privilegijama drugog korisnika. Sam propust se krio na očiglednom mestu skoro punih 10 godina. Prvi put je predstavljen u julu 2021. godine (commit 8255ed69) i pogađa sve legacy verzije od 1.8.2 do 1.8.31p2 i sve stable verzije od 1.9.0 do 1.9.5p1 u njhovoj podrazumevanoj konfiguraciji.
Zloupotreba ovog propusta dozvoljava svakom korisniku bez privilegija da dobije privilegije nad root-om na targetiranom hostu. Testovi sprovedeni nad nekim distribucijama pokazuju da napadači u praksi mogu da iskoriste ovaj propust na distribucijama Ubuntu 20.04 (Sudo 1.8.31), Debian 10 (Sudo 1.8.27) i Fedora 33 (Sudo 1.9.2). Vrlo je verovatno da isto važi i za druge operativne sisteme i distribucije.
Rešenje problema
Problem može biti rešen ažuriranjem sistema na sledeće verzije:
Ubuntu i Debian
Potrebno je primeniti zakrpu na Ubuntu verziji 16.04/18.04/20.04 LTS and 20.10 koristeći apt command / apt-get command
:
sudo apt update
sudo apt upgrade
## or just install sudo upgrade ##
sudo apt install sudo
sudo --version
Za stable Debian distribucije ovaj problem je rešen u verziji 1.8.27-1+deb10u3. Gore navedenu komandu možete iskoristiti i za Debian.
Arch Linux
Otvorite terminal i pokrenite sledeću pacman
komandu:
:: Synchronizing package databases...
core 134.3 KiB 163 KiB/s 00:01 [#####################] 100%
extra 1650.4 KiB 2.07 MiB/s 00:01 [#####################] 100%
community 5.3 MiB 8.55 MiB/s 00:01 [#####################] 100%
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...
Packages (17) audit-3.0-1 bpytop-1.0.60-1 ca-certificates-mozilla-3.61-1
filesystem-2021.01.19-1 gnupg-2.2.27-1 go-2:1.15.7-1
iptables-1:1.8.7-1 krb5-1.18.3-1 libcap-2.47-1
libgcrypt-1.9.0-2 libnftnl-1.1.9-1 pam-1.5.1-1
sqlite-3.34.1-1 sudo-1.9.5.p2-1 tar-1.33-1 tzdata-2021a-1
zstd-1.4.8-1
Total Download Size: 138.39 MiB
Total Installed Size: 604.42 MiB
Net Upgrade Size: -0.05 MiB
:: Proceed with installation? [Y/n]
Red Hat Enterprise Linux 8.x/7.x i CentOS i Fedora Linux
Kucajte dnf
ili yum
komandu da biste rešili bag na RHEL 7.x/8.x i Fedora Linux-u
sudo dnf update
Suse i OpenSUSE Linux
SUSE enterprise Linux u verzijama 12.x i 15.x je takođe pogošen ovim bagom. Na primer možete koristiti zypper
komandu:
sudo zypper lp -a | grep -i sudo
sudo zypper up
FreeBSD
Potrebno je da ažurirate FreeBSD port ili pkg pokretanjem sledeće pkg
komande:
sudo pkg update
sudo pkg upgrade
Updating FreeBSD repository catalogue...
Fetching packagesite.txz: 100% 6 MiB 3.2MB/s 00:02
Processing entries: 100%
FreeBSD repository update completed. 30177 packages processed.
All repositories are up to date.
[root@nixcraft-m6700 ~]# pkg upgrade
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
Checking for upgrades (1 candidates): 100%
Processing candidates (1 candidates): 100%
The following 1 package(s) will be affected (of 0 checked):
Installed packages to be UPGRADED:
sudo: 1.9.5p1 -> 1.9.5p2
Number of packages to be upgraded: 1
942 KiB to be downloaded.
Proceed with this action? [y/N]: y
[1/1] Fetching sudo-1.9.5p2.txz: 100% 942 KiB 964.4kB/s 00:01
Checking integrity... done (0 conflicting)
[1/1] Upgrading sudo from 1.9.5p1 to 1.9.5p2...
[1/1] Extracting sudo-1.9.5p2: 100%
Alpine Linux
Koristite apk
komandu da biste primenili sudo update:
apk update
apk upgrade
macOS
Apple je početkom februara objavio da je izdao update koji rešava ovaj problem. Više o tome pronađite na Apple support.
Koja god distribucija je pokrenuta na vašem sistemu, važno je da što pre primenite navedene zakrpe / ažuriranja, kako biste rešili navedeni bag u Sudo.
Bez komentara