"Dirty COW", el grave bug que ha estado en Linux por 9 años

Publicado el 24 octubre 2016 por Moktar
Sí, pensamos igual que tú: Dirty Cow (la 'vaca sucia') es un nombre bastante tonto para un problema tan grave. Estos últimos días ha estado haciendo muchísimo ruido en toda la comunidad tecnológica, y es fácil entender por qué: la peligrosidad de Dirty Cow es extremadamente alta, no sólo porque permite a un atacante local escalar privilegios fácilmente en sólo 5 segundos, sino porque numerosos ataques ya han sido reportados. Y no es lo peor: Dirty Cow afecta a todas y cada distro de Linux en el planeta, incluyendo Android, Chrome OS, Tizen y demás...
¿La buena noticia? Que este bug ya tiene su debido parche. ¿Y la mala? Que incontables millones de gadgets, routers y smartphones funcionan con Linux, y la gran mayoría no podrán ser parchados, al menos no fácilmente.
Para que te des cuenta de que tan grave es el asunto, Dan Rosenberg, investigador de seguridad para Azimuth Security, dijo al portal Ars Technica lo siguiente:
Este es probablemente el bug de elevación de privilegios local más grave [que se haya encontrado] en Linux. La naturaleza de [esta] vulnerabilidad hace que sea extremadamente fácil de explotar. Esta brecha de seguridad ha estado presente por nueve años, un período de tiempo extremadamente largo.

¿9 años dices?

Dirty COW, que ha sido recientemente re-descubierto por ingenieros de Red Hat, debe su nombre al mecanismo de protección de copy-on-write (COW, en español: copiar-al-escribir) del kernel y ha estado presente en Linux desde la versión 2.6.22 del kernel publicada en 2007. De hecho, Linus Torvalds admitió hace unos días a través del GIT del proyecto Linux que, hace 11 años, él mismo trató de corregir (sin éxito) este bug, pero lo dejó pudriéndose debido a que en aquél entonces era explotable sólo en la teoría. Luego se olvidaron de él por completo.
Resulta que, sin que nadie se diese cuenta, Dirty COW fue haciéndose más fácil de explotar con los cambios y mejoras introducidas en el kernel durante estos últimos años. Mientras más escalable se hacía la virtualización en Linux, más explotable se hacía Dirty COW. Tanto que, tal y como nos reporta el portal V3, su explotación es muy sencilla, y nunca falla en cumplir su cometido.

Problema resuelto, relativamente

Como ya se mencionó al principio del artículo, Dirty COW ya ha sido solucionado por medio de un parche subido al mainline. Por el momento, según apuntan en The Register, lo único que tienes que hacer para estar fuera de peligro es 1) aplicar el parche por tu cuenta si sabes realmente lo que estás haciendo o 2) de lo contrario, déjalo en manos de los expertos; es decir, esperar a que los desarrolladores de tu distro desplieguen una actualización del kernel con el parche aplicado.
El principal inconveniente se encuentra en dispositivos Android y basados en Linux fuera de soporte. Todos aquellos que han dejado de recibir actualizaciones de seguridad (exceptuando los Nexus lanzados en 2014 en adelante y los nuevos Google Pixel) se encuentran vulnerables. Si tienes tu dispositivo rooteado, puedes esperar a que terceros desarrolladores publiquen un kernel personalizado con Dirty COW parchado (o una ROM con el parche de seguridad más reciente), descargarlo y flashearlo tú mismo.
En cuanto a Linux convencional, teniendo en cuenta el gran revuelo que ha causado Dirty COW, la actualización seguramente llegará en los próximos días; es posible incluso que ya esté disponible en los repositorios oficiales de tu distro. Actualiza ya.