W implementacji asynchronicznego interfejsu wejścia/wyjścia io_uring, który jest częścią jądra Linux Począwszy od wersji 5.1, zidentyfikowano lukę w zabezpieczeniach (CVE-2022-3910), która umożliwia użytkownikowi bez uprawnień wykonywanie kodu z uprawnieniami jądra. Problem ten występował w wersjach 5.18 i 5.19, a został naprawiony w gałęzi 6.0. DebianRHEL i SUSE korzystają z wersji jądra do 5.18, Fedora, Gentoo i Arch oferują już jądro 6.0. Ubuntu 22.10 włączono podatność jądra 5.19.
Luka w zabezpieczeniach spowodowana jest dostępem typu use-after-release do bloku pamięci, który został już zwolniony w podsystemie io_uring, co jest powiązane z nieprawidłową aktualizacją licznika odwołań — podczas wywołania funkcji io_msg_ring() z plikiem stałym (który znajduje się na stałe w buforze pierścieniowym) wywoływana jest funkcja io_fput_file(), która błędnie zmniejsza licznik odwołań.
Źródło: opennet.ru
