5 de diciembre de 2017

The COW is still dirty: El parche para Dirty COW contiene fallos de seguridad

El parche para la famosa vulnerabilidad Dirty COW contiene fallos de seguridad que pueden permitir a un atacante local sin privilegios de administrador escalar privilegios.
En octubre del pasado año conocimos Dirty COW, una vulnerabilidad en Linux que permitía la elevación de privilegios a través de la explotación de una condición de carrera en el subsistema de memoria. El fallo se producía al manejar ciertas operaciones  'copy-on-write' (de ahí su nombre, COW) de mapeos de memoria privada de solo lectura. Esto permitía a un atacante local sin privilegios obtener derechos de escritura en zonas de memoria de solo lectura.
Para solventar esta condición de carrera, el parche correspondiente introducía una nueva variable (FOLL_COW) y la función 'can_follow_write_pte'. Sin embargo, la lógica de esta función puede ser alterada sin entrar en ciclos de 'copy-on-write' a través del uso de la función 'get_user_pages', que permite eludir la medida de seguridad, según investigadores de la empresa Bindecy.
En consecuencia, todas las distribuciones de Linux cuyo kernel tenga por defecto activado el soporte para THP (Transparent Huge Pages) y donde se haya instalado el parche para Dirty COW son vulnerables a este nuevo ataque. Debido a esto en esta ocasión son menos los sistemas afectados: Quedan fuera de peligro Red Hat Enterprise Linux y Android, pero sí ha sido probado con éxito en Ubuntu 17.04 con kernel 4.10 y Fedora 27 con kernel 4.13.
La vulnerabilidad tiene identificador CVE-2017-1000405 y ya ha sido publicado un parche que soluciona el problema, accesible en GitHub. Bindecy, por su parte, también ha publicado una prueba de concepto de la explotación de la vulnerabilidad.
Más información:
Fuente: Hispasec.com