Menu dostępności

Dziura w sudo pozwala przejąć uprawnienia root (bez uwierzytelnienia)

Qualys ujawnił wczoraj lukę w sudo, która występuje w systemach operacyjnych typu Unix/Linux. Umożliwia każdemu lokalnemu użytkownikowi uzyskanie uprawnień root bez konieczności uwierzytelniania.


Kilka słów o Sudo

Sudo (skrót od „superuser do”) to program na systemach Unix (oraz unix’o pochodnych), który umożliwia administratorom nadawanie ograniczonych uprawnień root’a zwykłym użytkownikom systemu wymienionym w pliku sudoers. Rejestruje ich dziennik aktywności i działa na zasadzie przyznawania dla użytkownika jak najmniejszych uprawnień do systemu w celu wykonywania określonych czynności (przywilejów). Takie „proxy” dla uprawnień. Funkcjonalność ta ma znaczący wpływ na bezpieczeństwo, ponieważ ogranicza uprawnienia użytkowników do wykonania w nim określonych zadań. Podczas wykonywania poleceń w systemie Unix’o pochodnym (np. Linux, Centos, Ubuntu itp.) użytkownicy nieuprzywilejowani mogą używać polecenia sudo do wykonywania ich na prawach użytkownika „root”, pod warunkiem, że posiadają przydzielone takie uprawnienie lub znają hasło do tego konta. Sudo można również skonfigurować tak, aby zezwalać zwykłym użytkownikom na uruchamianie poleceń w kontekście innego użytkownika. Robi się to poprzez włączenie specjalnych dyrektyw/przełączników w pliku konfiguracyjnym o nazwie sudoers.


Na czym polega problem?

Luka (znana również jako Baron Samedit ) umożliwiająca eskalację przywilejów Sudo została ujawniona 13 stycznia 2021 przez analityków bezpieczeństwa z Qualys i otrzymała numer CVE-2021-3156. Lecz do jej upublicznienia specjaliści poczekali, aż do momentu pojawiania się oficjalnych poprawek twórcy. Treść całego opisu podatności można znaleźć tutaj.

Jak twierdzą badacze, luka występuje w programie Sudo już od prawie 9 lat, a dokładniej od lipca 2011 r. – od poprawki o numerze 8255ed69. Wpływa na domyślne konfiguracje wszystkich stabilnych wersji od 1.9.0 do 1.9.5p1 oraz wszystkich starszych wersji od 1.8.2 do 1.8.31p2.

Problem polega na przepełnieniu bufora opartym na stercie, który może wykorzystać każdy lokalny użytkownik (zwykli użytkownicy i użytkownicy systemu, wymienieni w pliku sudoers lub nie), przy czym atakujący nie muszą znać hasła użytkownika, aby skutecznie wykorzystać lukę. Owe przepełnienie bufora umożliwia każdemu użytkownikowi lokalnemu uzyskanie uprawnień root’a jeśli wyzwalane jest przez Sudo niepoprawne cofanie znaku ukośnika odwrotnego (backshash) podawanego w argumentach wykonania komendy.

Qualys stworzył trzy exploity dla CVE-2021-3156 w celu pokazania w jaki sposób luka może zostać skutecznie wykorzystana przez potencjalnych atakujących.

Współautorzy Sudo naprawili lukę w wydanej wczoraj wersji sudo 1.9.5p2 w tym samym czasie, w którym Qualys publicznie ujawnił odkryta przez nich podatność. Pocieszeniem jest to, że lukę można wykorzystać tylko w niestandardowych konfiguracjach Unix/Linux. Demo podatności możecie zobaczyć na poniższym nagraniu:




Jak sprawdzić czy nasz system jest podatny?

W celu sprawdzenia czy Wasz system jest podatny na tego typu atak z wykorzystaniem opisywanej podatności należy się do niego zalogować się jako użytkownik inny niż root i uruchomić polecenie „sudoedit -s /”. Systemy podatne na atak będą zgłaszać błąd zaczynający się od „sudoedit:”, podczas gdy systemy po wgranej łatce będą wyświetlać błąd zaczynający się od „usage:”. Przykład podatnego systemu:


Łatajcie systemy Unix*

Administratorzy systemów, którzy używają Sudo do delegowania uprawnień root’a, powinni jak najszybciej uaktualnić sudo do wersji 1.9.5p2 lub nowszej

Popularne

Nowe podatności w architekturze sieci 5G

Nowe podatności w architekturze sieci 5G

Nowe badania nad architekturą 5G ujawniły lukę w zabezpieczeniach modelu dzielenia sieci oraz zwirtualizowanych funkcjach sieciowych, które można wykorzystać do nieautoryzowanego dostępu do danych, a tak...
Polowanie na eskalację uprawnień w Windows: sterowniki jądra i Named Pipe pod lupą

Polowanie na eskalację uprawnień w Windows: sterowniki jądra i Named Pipe pod lupą

Podatności typu Local Privilege Escalation (LPE) pozostają jednym z kluczowych elementów realnych ataków na systemy Windows. Nawet przy poprawnie skonfigurowanym systemie i aktualnym oprogramowaniu bł...
Sekrety, które powinny pozostać sekretami – czyli jak chronić poświadczenia (credentials) NHI – część 2

Sekrety, które powinny pozostać sekretami – czyli jak chronić poświadczenia (credentials) NHI – część 2

Skoro znamy już źródła problemów, przejdźmy do drugiej części naszego opracowania, czyli poradnika. Poniżej przedstawiamy najlepsze praktyki w zarządzaniu sekretami kont maszynowych. Jakie są najlep...
Czym są non-human identities (NHI)? Jak możemy je chronić i jakie zagrożenia stwarzają dla organizacji?

Czym są non-human identities (NHI)? Jak możemy je chronić i jakie zagrożenia stwarzają dla organizacji?

W dzisiejszym artykule opisujemy pewien problem istniejący w firmach i organizacjach, związany z tożsamościami nieludzkimi (non-human identities), czyli inaczej – tożsamościami niezwiązanymi z pracow...
Top 10 podatności w aplikacjach w 2022 roku według OWASP

Top 10 podatności w aplikacjach w 2022 roku według OWASP

O bezpieczeństwie aplikacji piszemy na Kapitanie Hacku nieczęsto. Wiemy jednak, że kiepskie zarządzanie tym tematem w organizacji prowadzi do katastrofalnych konsekwencji. Jeśli jako firma udostępniamy własn...