Nell'implementazione dell'interfaccia di input/output asincrono io_uring, inclusa nel kernel Linux a partire dalla versione 5.1, è stata individuata una vulnerabilità (CVE-2022-3910) che consente a un utente non privilegiato di eseguire codice con privilegi di kernel. Il problema si manifesta nelle versioni 5.18 e 5.19 ed è stato risolto nella versione 6.0. Debian, RHEL e SUSE utilizzano versioni del kernel fino alla 5.18, mentre Fedora, Gentoo e Arch offrono già il kernel 6.0. In Ubuntu 22.10 è in uso il kernel vulnerabile 5.19.
La vulnerabilità è causata dall'accesso a un blocco di memoria già liberato (use-after-free) nel sottosistema io_uring, relativo all'errato aggiornamento del contatore dei riferimenti: quando viene chiamato io_msg_ring() con un file fisso (permanente nel buffer circolare), viene invocata erroneamente la funzione io_fput_file(), la quale riduce il contatore dei riferimenti.
Fonte: opennet.ru
