Menu dostępności

Kolejny błąd Linux umożliwiający zdobycie dostępu root

W systemie Linux odkryto błąd umożliwiający LPE (lokalne podniesienie uprawnień) ze zwykłego konta użytkownika do uprzywilejowanego użytkownika systemu „root”. Dla wielu przedsiębiorstw może to być poważne zagrożenie. W sieci istnieje exploit na tą lukę.

Tym razem postanowiliśmy napisać o kolejnym błędzie na Linux, żebyście nie myśleli, że tylko bezpieczeństwo Windows się dla nas liczy ☺ Systemy Linux/Unix są i będą krytycznym elementem środowisk IT, na których pracuje wiele biznesowych aplikacji, usług, baz danych i nie tylko. Nieodpowiednie dbanie o taki system oraz zapewnienie dostępu nawet dla zwykłego użytkownika do takiego serwera może firmę kosztować. I to dużo. Zwłaszcza jeśli atakujący dobrze zna się na systemie operacyjnym i jego słabostkach. Jedną z nich opisujemy poniżej.


Szczegóły podatności

Opisywany błąd dotyczy problemu w kodzie Netfilter, który odkrył Arthur Mongolin. Otrzymał on numer CVE-2022-34918 i dotyczy przepełnienia bufora sterty w podsystemie Netfilter jądra Linux. Luka może zostać wykorzystana do zwiększenia uprawnień w systemie Ubuntu 22.04.

Dla osób niezaznajomionych ze środowiskiem Linux wyjaśniamy, że Netfilter to framework w jądrze Linux służący do przechwytywania i zmieniania ruchu sieciowego. Jest także nazwą projektu dostarczającego aplikacje do obsługi tego frameworka.

Zródło: Wikipedia

Zbudowany jest z szeregu punktów w kodzie obsługi sieci, w których można umieszczać funkcje odpowiedzialne za analizę i zmianę pakietów sieciowych. Punkty te są pogrupowane w tablice, a funkcje przyłączone w danym punkcie nazywane są łańcuchami.
Struktura filtrowania pakietów netfilter oraz firewall iptables są podstawą większości rozwiązań firewall na serwerach Linux. Zakotwiczenia jądra netfilter są wystarczająco blisko stosu sieciowego, aby zapewnić potężną kontrolę nad pakietami przetwarzanymi przez system, stad też exploitacja tego modułu umożliwia zdobycie największych uprawnień do systemu.

Podczas analizy kodu Netfilter autor odkrycia zwrócił uwagę na wywołanie funkcji „memcpy” (zaznaczonej jako (1) na obrazku) w definicji funkcji nft_set_elem_init (źródło kodu w pliku „/net/netfilter/nf_tables_api.c”).

Dalsze badania i testy kodu Netfilter (między innymi przepełnienia bufora pamięci w stosie jądra systemu) spowodowały, że Artur mógł oszukać system i w wyniku błędu otrzymać najwyższe uprawnienia do niego – czyli użytkownika root, na którym działa usługa Netfilter.

Poniższy schemat podsumowuje różne etapy elem.data w stosie w celu wytworzenia kontrolowanego przepełnienia.

Zródło: Arthur Mongolin

Losowe dane są przechowywane w stosie, dodanie nowego elementu z danymi NFT_DATA_VALUE prowadzi do danych kontrolowanych przez użytkownika w stosie. Na koniec dodanie drugiego elementu z danymi NFT_DATA_VERDICT spowoduje przepełnienie bufora, a pozostałość danych ostatniego elementu zostanie skopiowana podczas przepełnienia.” – napisał badacz na swoim blogu.


Dostępny Exploit

Autor odkrycia opublikował też w sieci exploit, którego kod źródłowy możecie znaleźć na GitHubie tutaj.
Demo zamieściliśmy poniżej

Jak twierdzi autor: „Metoda eksploatacji opiera się na założeniu, że w specjalnym obszarze pamięci jądra mapowany jest określony adres, co nie zawsze ma miejsce. Więc exploit nie jest w pełni niezawodny, ale nadal ma dobry wskaźnik sukcesu. Drugą wadą ataku polegającego na odłączaniu jest panika jądra, która pojawia się po zakończeniu exploit’a. Można tego uniknąć, znajdując obiekty, które mogą pozostać w pamięci jądra po zakończeniu procesu wykorzystywania.”


Jak sobie radzić z problemem?

Z dobrych informacji jakie mamy dla Was, to że błąd został zgłoszony do zespołu ds. bezpieczeństwa systemu. Ci zaś zaproponowali łatkę, którą autor podatności przetestował i zrecenzował. Znajduje się ona na etapie zatwierdzania. Informacje możecie przeczytać tutaj.

Jak widać nic nie jest bezpieczne i to kwestia czasu zanim znajdzie się obejście/luka. Zachęcamy do łatania systemów i należytego ich monitorowania ☺ Szczegóły na temat luki możecie znaleźć tutaj.

Popularne

Ważna zmiana w OWASP Top 10

Ważna zmiana w OWASP Top 10

OWASP, czyli Open Worldwide Application Security Project, zaproponowało nowe wydanie swojej klasycznej listy Top 10 ryzyk aplikacyjnych. Wersja z 2025 roku wprowadza kluczowe rozszerzenia dotyczące b...
Jak modele LLM automatyzują cyberprzestępczość

Jak modele LLM automatyzują cyberprzestępczość

Każdy Czytelnik Kapitana Hacka wie, że złośliwe LLM-y ułatwiają mniej doświadczonym cyberprzestępcom przeprowadzanie ataków. Potwierdzają to badacze z Palo Alto Networks, którzy przeanalizowali dwa niedaw...
Jak błąd w 7-Zip (CVE-2025-11001) daje hakerom dostęp do systemu Windows. Jest exploit

Jak błąd w 7-Zip (CVE-2025-11001) daje hakerom dostęp do systemu Windows. Jest exploit

Odkryto niezwykle niebezpieczną dla użytkowników systemów Windows podatność. Błąd o numerze CVE‑2025‑11001 jest już częściowo wykorzystywany, a dotyczy popularnego programu 7-Zip. Polega na niewłaściwe...
Wizualizacja ścieżek ataku na Active Directory za pomocą narzędzia BloodHound

Wizualizacja ścieżek ataku na Active Directory za pomocą narzędzia BloodHound

Krótko o narzędziu Bloodhound to narzędzie służące do wizualizacji i analizy powiązań w Active Directory. Dla atakującego jest niezastąpioną pomocą do znajdowania ścieżki ataku na najbardziej c...
Jak zmienić nieznane/zapomniane hasło Administratora na Windows?

Jak zmienić nieznane/zapomniane hasło Administratora na Windows?

W tym artykule pokażemy, jak możemy zmienić hasło administratora na komputerze posiadając do niego fizyczny dostęp. Artykuł ten można potraktować także jako przestrogę dla firm, które nie zaimplementowały jeszcze odpo...