¿Conoces la vulnerabilidad Dirty Cow? Aprende a proteger tu servidor Linux de ella

Dirty Cow, Linux Kernel Exploit

Es habitual localizar bugs en el kernel de Linux, agujeros que permanecen vigentes durante varios años sin que nadie haga nada para solucionarlos. Incluso en muchas ocasiones en las que se tiene conocimiento de su existencia. Es lo que ha ocurrido con el último caso sacado a la luz, que se conoce bajo el nombre Dirty Cow y cuyo nombre técnico es CVE-2016-5195. Este caso se ha publicado en Canonical, Red Hat y Debian. Un problema de seguridad muy importante que ha estado vigente durante 9 años.

¿En qué consiste la vulnerabilidad Dirty Cow?

La vulnerabilidad de la que hablamos en esta entrada fue descubierta por Phil Oester, un experto en seguridad y desarrollador de Linux. Este bug permite hacer una escalada de privilegios de forma remota o local. El problema en sí está localizado en el subsistema de memoria kernel y afecta al proceso de copia virtual de operaciones de escritura que hace el núcleo. En resumen, lo que permite esta vulnerabilidad es que un usuario normal, sin privilegios, pueda utilizarla para escribir y tener acceso a partes del sistema que pertenecen a otros usuarios, incluso el root. Es decir, archivos que únicamente son de lectura podrían ser modificados por usuarios que no son sus propietarios, con los problemas que esto podría acarrear.

Como no podía ser de otra forma, esta vulnerabilidad ya fue corregida por los responsables del kernel. Pero no todos los usuarios tendrán acceso a la actualización en la que se corrige este problema.

¿Cómo sé si mi equipo sufre la vulnerabilidad Dirty Cow?

Según se ha comprobado, la vulnerabilidad ha existido dentro del kernel del Linux desde su versión 2.6.22, liberada en 2007. Ya en su momento se tuvo conocimiento de ella y para mitigar sus efectos se lanzó un parche que no dio los resultados esperados, ya que era incompatible con otras funciones del kernel. Ahí se quedó la cosa hasta hace unos días, cuando volvió a salir a la luz.

Para saber si la versión que utilizamos en nuestro sistema es segura, tenemos que mirar la versión que utilizamos y asegurarnos de que está dentro del listado de versiones seguras. En este momento son Linux 4.8.3, 4.7.9 y 4.4.26 LTS. Dependiendo de la versión del sistema operativo que utilicemos, la forma de localizar el kernel que estamos utilizando puede variar.

Ubuntu / Debian

Para encontrar la versión, hay que ejecutar la siguiente instrucción desde la línea de comandos.

uname –rv

Por pantalla tiene que aparecer información parecida al siguiente ejemplo que os dejamos.

4.4.0-42-generic #62-Ubuntu SMP Fri Oct 7 23:11:45 UTC 2016

Si vuestra versión es anterior a estas que os dejamos, entonces la vulnerabilidad os afecta directamente.

  • 8.0-26.28 para Ubuntu 16.10
  • 4.0-45.66 para Ubuntu 16.04 LTS
  • 13.0-100.147 para Ubuntu 14.04 LTS
  • 2.0-113.155 para Ubuntu 12.04 LTS
  • 16.36-1+deb8u2 para Debian 8
  • 2.82-1 para Debian 7
  • 7.8-1 para Debian unstable

CentOS

Algunas versiones de CentOS pueden utilizar este script proporcionado por Red Hat para comprobar la vulnerabilidad del sistema. Descárgalo para probarlo.

wget https://access.redhat.com/sites/default/files/rh-cve-2016-5195_1.sh

Una vez descargado, puedes ejectuarlo con el siguiente comando:

bash rh-cve-2016-5195_1.sh

Si el sistema es vulnerable, por pantalla aparecerá un mensaje parecido a esto:

“Your kernel is 3.10.0-327.36.1.el7.x86_64 which IS vulnerable.
Red Hat recommends that you update your kernel. Alternatively, you can apply partial
mitigation described at https://access.redhat.com/security/vulnerabilities/2706661 .”

Poner solución a la vulnerabilidad Dirty Cow

Por suerte, este problema tiene fácil solución. Lo único que debemos hacer es actualizar el sistema y reiniciar el servidor. En Ubuntu y Debian podemos actualizarlo utilizando «apt-get».

sudo apt-get update && sudo apt-get dist-upgrade

En el caso de CentOS 5, 6 y 7, podemos actualizar el sistema con «sudo yum update» o, si solo necesitamos solucionar este problema, ejecutar lo siguiente:

sudo yum update kernel

Tras la actualización, hay que reiniciar el sistema.

Android, uno de los más afectados

En el punto anterior hemos visto que poner solución a la vulnerabilidad Dirty Cow es fácil. Únicamente hay que actualizar la versión del kernel de nuestro sistema. El problema lo podemos encontrar en aquellos sistemas operativos que hacen uso del kernel de Linux pero cuya actualización no es tan rápida como debería.

El caso más claro lo tenemos con Android. En la mayoría de los casos, la actualización del sistema depende de los propios fabricantes y en muchos casos, no entra dentro de sus intereses. Esto hace que nos encontramos en una situación en la que la mayoría de usuarios con terminales Android serán susceptibles de que alguien pueda atacarles a través de esta vulnerabilidad. La solución en estos casos es esperar a que los fabricantes lancen actualizaciones o bien utilizar rooms de terceras empresas que solucionen este problema.

Si te ha gustado, compártelo en redes sociales

Configuración de las cookies
Stackscale, Grupo Aire logo

Al aceptar las cookies acepta voluntariamente el tratamiento de sus datos. Esto también incluye, por un tiempo limitado, su consentimiento de acuerdo con el Artículo 49 (1) (a) RGPD para el procesamiento de datos fuera del EEE, por ejemplo, en los EE.UU. En estos países, a pesar de una cuidadosa selección y obligación de los proveedores de servicios, no se puede garantizar el alto nivel europeo de protección de datos.

Si los datos se transfieren a los EE.UU., existe, por ejemplo, el riesgo de que las autoridades de los EE.UU. procesen estos datos con fines de control y supervisión sin que estén disponibles recursos legales efectivos o sin que se puedan hacer valer todos los derechos del interesado. Puede revocar su consentimiento en cualquier momento.

Cookies necesarias

Son aquellas que ayudan a hacer una página web utilizable activando funciones básicas como la navegación en la página y el acceso a áreas seguras de la página web. La página web no podrá funcionar adecuadamente sin estas cookies. Le informamos de que puede configurar su navegador para bloquear o alertar sobre estas cookies, sin embargo, es posible que determinadas áreas de la página web no funcionen. Estas cookies no almacenan ninguna información de identificación personal.

- moove_gdpr_popup

Cookies analíticas

Son aquéllas que permiten al Editor de las mismas, el seguimiento y análisis del comportamiento de los usuarios de los sitios web a los que están vinculadas. La información recogida mediante este tipo de cookies se utiliza en la medición de la actividad de los sitios web, aplicaciones o plataformas y para la elaboración de perfiles de navegación de los usuarios de dichos sitios, aplicaciones y plataformas, con el fin de introducir mejoras en función del análisis de los datos de uso que hacen los usuarios del servicio.

Google Analytics: Registra una identificación única que se utiliza para generar datos estadísticos acerca de cómo utiliza el visitante el sitio web. La información generada por la cookie sobre su uso de este sitio web generalmente se transmite a un servidor de Google en los EE. UU. y es almacenada allí por Google LLC, 1600 Amphitheatre Parkway Mountain View, CA 94043, EE.UU.

- _dc_gtm_UA-30121999-1

- _ga_C3BSYFJ6DM

- _gat_gtag_UA_30121999_1

- _ga

- _gcl_au

- _gid