Luka umożliwiająca eskalację uprawnień w podsystemie io_uring

W implementacji asynchronicznego interfejsu wejścia/wyjścia io_uring, zawartego w jądrze Linuksa od wersji 5.1, wykryto lukę (CVE-2022-3910), która umożliwia nieuprzywilejowanemu użytkownikowi wykonanie kodu z uprawnieniami jądra. Problem pojawił się w wydaniach 5.18 i 5.19 i został naprawiony w gałęzi 6.0. Debian, RHEL i SUSE korzystają z jądra w wersji do 5.18, Fedora, Gentoo i Arch oferują już jądro 6.0. Ubuntu 22.10 korzysta z podatnego na ataki jądra 5.19.

Podatność spowodowana jest dostępem do już zwolnionego bloku pamięci (use-after-free) w podsystemie io_uring, co jest związane z błędną aktualizacją licznika referencji - podczas wywołania io_msg_ring() ze stałym plikiem (trwale znajdującym się w buforze pierścieniowym), funkcja io_fput_file() jest wywoływana przez pomyłkę, zmniejszając liczbę odwołań.

Źródło: opennet.ru

Dodaj komentarz