Dirty Cow: elevación de privilegios en el kernel Linux

La semana pasada salió a la luz la vulnerabilidad bautizada como Dirty COW (CVE-2016-5195). Se trata de una vulnerabilidad del kernel Linux que permite una escalada de privilegios a través de la explotación de una técnica denominada «copy-on-write». Es un fallo que lleva al menos 9 años en el kernel Linux (desde la versión versión 2.6.22). También afecta a dispositivos Android.

En el sitio web creado específicamente para la vulnerabilidad (https://dirtycow.ninja/) podéis encontrar todos los detalles técnicos del fallo así como un exploit para trastear con la vulnerabilidad.

A race condition was found in the way the Linux kernel’s memory subsystem handled the copy-on-write (COW) breakage of private read-only memory mappings. An unprivileged local user could use this flaw to gain write access to otherwise read-only memory mappings and thus increase their privileges on the system.

Para solucionar el problema es necesario parchear el kernel y reiniciar el sistema operativo. A continuación os muestro como aplicar los parches en las distintas distribuciones:

Debian y Ubuntu:

# apt-get update
# apt-get upgrade
# reboot
# uname -a

RHEL, CentOS y derivados:

# yum update
# reboot
# uname -a

Nota: para RHEL 4.x:

# up2date -u
# reboot
# uname -a

Suse Enterprise Linux y Opensuse Linux:

# zypper patch
# reboot
# uname -a