sudo propust

Kritičan bag u sudo-u

8 марта, 2021

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.

Slični postovi:

Izašao je Linux Kernel 5.14
Vim editor – osnove
Šta predstavljaju termini GUI, CLI i TUI u Linux-u

Bez komentara

Оставите одговор

Ваша адреса е-поште неће бити објављена. Неопходна поља су означена *