Vulnerabilidad DirtyPipe en el Kernel de Linux (CVE-2022-0847)

Introducción

Vulnerabilidad en el kernel de Linux que permite sobrescribir datos en archivos arbitrarios de sólo lectura, lo que puede conducir a inyección de código en los procesos root y una escalada de privilegios. [1]

Análisis

El 7 de marzo, se encontró que las «flags» de la nueva estructura de tuberías del Kernel de Linux no tenían inicializadas las funciones copy_page_to_iter_pipe y push_pipe, por tanto, podía contener valores obsoletos. Y un usuario local sin privilegios podía utilizar este fallo para escribir en páginas de la caché de páginas respaldadas por archivos de solo lectura y así escalar sus privilegios en el sistema. [2]

Versiones afectadas:

      • Linux Kernel >= 5.8
      • Linux Kernel < 5.16.11
      • Linux Kernel < 5.15.25
      • Linux Kernel < 5.10.102

Se le ha dado a la vulnerabilidad una puntuación CVSSv3 de 7.8, por lo que se considera de prioridad alta. [3]Además, la vulnerabilidad resulta fácil de explotar y han salido numerosas pruebas de concepto para explotarla. [4] [5]

Recomendaciones

Se ha resuelto la vulnerabilidad en las versiones del kernel de Linux 5.16.11, 5.15.25 y 5.10.102. Se recomienda actualizarlo desde el repositorio oficial [6]. En el caso de versiones 5.8 del Kernel, es necesaria una actualización más severa, ya que no se ha resuelto la vulnerabilidad para estas versiones.

Referencias
[1] https://dirtypipe.cm4all.com/
[2] https://access.redhat.com/security/cve/cve-2022-0847
[3] https://socradar.io/dirty-pipe-linux-vulnerability-discovered/
[4] https://packetstormsecurity.com/files/166229/Dirty-Pipe-Linux-Privilege-Escalation.html
[5] https://packetstormsecurity.com/files/166230/Dirty-Pipe-SUID-Binary-Hijack-Privilege-Escalation.html
[6] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9d2231c5d74e13b2a0546fee6737ee4446017903