Menu dostępności

Nowa luka w Linux umożliwia przejęcie pełnej kontroli nad systemem

Po wczorajszej opublikowanej przez nas informacji na temat wykrytych błędów zeroday w wielu aplikacjach i systemach podczas zawodów Tianfu Cup mamy kolejny błąd – tym razem w kernelu Linux (specjalnie nie piszemy „w jądrze”, żeby aż tak bardzo nie bolało :)). Badacze nazwali go „prostym błędem blokowania kernela Linux”, który wykorzystali w jądrze 4.19.0.13-amd64 Debiana Bustera. Błąd uszkodzenia pamięci jądra Linux powoduje całkowite naruszenie systemu


Błąd w Kernelu Linux

Przypominamy, że podobny błąd https://www.mcafee.com/blogs/other-blogs/mcafee-labs/linux-kernel-vulnerability-can-lead-to-privilege-escalation-analyzing-cve-2017-1000112/ ujawniony został w 2017 roku przez badaczy MacAfee. Powodował on uszkodzenie pamięci w ramach odciążania fragmentacji UDP (UFO) kernela Linux, który umożliwiał nieautoryzowanym osobom uzyskanie lokalnych eskalacji uprawnień. Błąd dotyczył ścieżek kodu IPv4 i IPv6 z jądrem w wersji 4.8.0 Ubuntu xenial i został naprawiony w Commit 85f1bd9.

Wykrycie nowej podatności zawdzięczamy zespołowi Google Project Zero. który udostępnił szczegóły podobnego, ale znacznie prostszego błędu, który może spowodować całkowite naruszenie systemu. Badacze nazwali to „prostym błędem blokowania kernala Linux”, który wykorzystali w jądrze 4.19.0.13-amd64 systemu Debian Buster.


Źródło problemu

Według wpisu na blogu Project Zero błąd znajdował się w module obsługi ioctl – tiocspgrp. Element pgrp po stronie terminala (real_tty) został zmodyfikowany, aby go wykorzystać, podczas gdy licznik odwołań do starych i nowych grup procesów został odpowiednio dostosowany za pomocą put_pid i get_pid.
Mbr> Blokada jest ustawiona na tty, która w zależności od deskryptora pliku przekazanego przez badaczy do ioctl() może być dowolnym końcem pary pseudoterminali. Tak więc nazwali ioctl TIOCSPGRP po obu stronach pseudoterminalu, aby wyścigi danych między równoczesnymi dostępami do elementu pgrp, powodując przekrzywienie zliczania referencji przez kilka wyścigów.
Dla niewtajemniczonych wyjaśniamy, że wyścig danych (z ang. data-race) ma miejsce, gdy:

  • dwa lub więcej wątków w jednym procesie jednocześnie uzyskuje dostęp do tej samej lokalizacji pamięci, oraz
  • co najmniej jeden z dostępów służy do pisania i
  • wątki nie używają żadnych wyłącznych blokad do kontroli dostępu do tej pamięci.

Jann Horn z Google Project Zero stwierdził, że refcount starego pid struktury wykazał spadek o 1 za dużo w obu przypadkach, podczas gdy A lub B zostały zwiększone o 1 za dużo. Zespół publikuje również dowód koncepcji, który jest dostępny tutaj.

Popularne

Czym jest Microsoft Entra Backup and Recovery?

Czym jest Microsoft Entra Backup and Recovery?

Przez długi czas odzyskiwanie zmian w Microsoft Entra opierało się głównie na kilku osobnych mechanizmach: soft-delete dla części obiektów, logach audytowych, eksportach konfiguracji i ręcznym odtwarza...
MSBuild w rękach atakujących. Legalne narzędzie, które omija klasyczne detekcje

MSBuild w rękach atakujących. Legalne narzędzie, które omija klasyczne detekcje

Coraz więcej ataków nie polega już na dostarczeniu malware w klasycznej formie. Zamiast tego napastnicy wykorzystują narzędzia, które już znajdują się w systemie i są uznawane za w pełni zaufane. Jednym z t...
Jeszcze o Mythos!

Jeszcze o Mythos!

W bardzo dobrym artykule autorstwa mojego redakcyjnego kolegi możemy znaleźć kompendium wiedzy o Mythos – niedawno ogłoszonym modelu AI od Anthropic. Produkt ten wywołał panikę w branży ze względu na zdolno...
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...
Twoja rezerwacja bronią cyberprzestępców – kulisy ataku na Booking.com

Twoja rezerwacja bronią cyberprzestępców – kulisy ataku na Booking.com

Wyobraź sobie, że dostajesz wiadomość od hotelu, w którym masz zarezerwowany pobyt. Wszystko wygląda wiarygodnie: dane się zgadzają, termin pasuje, a treść brzmi jak standardowa prośba o potwierdzenie. Problem w...