Dos investigadores de seguridad @LukeGix y @kiks detallaron un exploit de escalada de privilegios locales (LPE) para la vulnerabilidad rastreada como CVE-2022-2602 (puntuación CVSS: 7.0).
El kernel de Linux podría permitir que un atacante local autenticado obtenga privilegios elevados en el sistema, causado por una falla de uso después de la liberación cuando se procesa una solicitud io_uring. Al enviar una solicitud especialmente diseñada, un atacante autenticado podría aprovechar esta vulnerabilidad para obtener privilegios elevados.
Según seclists, CVE-2022-2602 es un “uso después de la liberación” que ocurre cuando se procesa una solicitud de io_uring en un archivo registrado y Unix GC ejecuta y libera el fd de io_uring y todos los fd registrados. El orden en el que Unix GC procesa los fds en vuelo puede hacer que los fds registrados se liberen antes de que se libere el io_uring y tenga la posibilidad de anular el registro y esperar a que finalicen dichas solicitudes”. El error afecta al kernel de Linux upstream estable 5.4. / 5.15. y versiones posteriores. 5.10.a.
Los investigadores de seguridad Alessandro Groppo y LukeGix, quienes compartieron el código de explotación PoC para CVE-2022-2602, también publicaron el artículo (1, 2) con detalles sobre los métodos utilizados por la explotación.
“La vulnerabilidad es un Use-After-Free en el subsistema io_uring mientras se manejan archivos registrados. La funcionalidad IORING_REGISTER_FILES permite registrar descriptores de archivos en el contexto io_uring para que el consumidor (la aplicación de la tierra del usuario) no tenga que mantenerlos abiertos. Funciona al pasar la lista de descriptores de archivos mediante la llamada al sistema io_uring_register. Sin embargo, el recolector de basura de Unix (bien explicado en esta publicación de blog cero del proyecto), cuyo punto de entrada es la función unix_gc y su responsabilidad es desasignar sockets en vuelo, puede liberar estos archivos registrados mientras io_uring los está usando, causando un Vulnerabilidad Use-After-Free”, explicó Groppo.

El exploit PoC en funcionamiento (1, 2) se probó con éxito en versiones de 64 bits sin parches del kernel de Linux 5.15.74.
Se recomienda a los administradores que apliquen las actualizaciones adecuadas en sus distribuciones de Linux tan pronto como las reciban de sus respectivas distribuciones. También se recomiendan para permitir que solo los usuarios de confianza accedan a los sistemas locales y siempre supervisen los sistemas afectados.
Fuente: Security Online