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:
- CVE-2017-1000405: Linux kernel - "Dirty COW" variant on transparent huge pages: http://www.openwall.com/lists/oss-security/2017/11/30/1
- Dirty COW: https://dirtycow.ninja/
- "Huge Dirty Cow" POC https://github.com/bindecy/HugeDirtyCowPOC
Fuente: Hispasec.com