No es un buen año para los administradores de sistemas. A los fallos en librerías SSL como Heartbleed se une hoy un fallo grave en el núcleo Linux que permitiría a un atacante hacerse con el control completo de un ordenador con sólo ejecutar un programa.
El fallo se habría introducido en 2009 en la versión 2.6.31-rc3 del kernel: cinco años en los que la vulnerabilidad ha pasado desapercibida (o al menos, eso esperamos). Sólo ha sido descubierta por un desarrollador que estaba haciendo pruebas y que la ha reportado de inmediato para que sea corregida. El parche para el núcleo Linux ya está disponible y la mayoría de distribuciones ya han publicado la actualización en sus repositorios.
La vulnerabilidad está en el sistema de terminales virtuales (PTY), que permite simular terminales para interactuar con ciertos procesos. Por ejemplo, es lo que usa vuestro programa de consola (Konsole, GNOME Terminal, iTerm...) para poder interactuar con la terminal del sistema (suele ser bash si no lo habéis cambiado).
Cuando la PTY se configura con dos opciones concretas (LECHO, !OPOST), el sistema espera que sólo haya un proceso escribiendo al mismo tiempo. Lo que hace el exploit es precisamente lo contrario: lanzar dos procesos (técnicamente, dos hilos) que escriben al mismo tiempo en la misma terminal. Por asi decirlo, es como si conectáis dos teclados al ordenador y escribís en los dos al mismo tiempo.
Esto es lo que se llama una condición de carrera en informática: hay dos tareas ejecutándose a la vez, y dependiendo del orden en el que ejecuten cada instrucción se puede producir un fallo. En este caso, si la ejecución es como la que veis en la siguiente tabla, el atacante consigue que el núcleo escriba en un espacio de memoria que no estaba reservado.
El fallo se habría introducido en 2009 en la versión 2.6.31-rc3 del kernel: cinco años en los que la vulnerabilidad ha pasado desapercibida (o al menos, eso esperamos). Sólo ha sido descubierta por un desarrollador que estaba haciendo pruebas y que la ha reportado de inmediato para que sea corregida. El parche para el núcleo Linux ya está disponible y la mayoría de distribuciones ya han publicado la actualización en sus repositorios.
La vulnerabilidad está en el sistema de terminales virtuales (PTY), que permite simular terminales para interactuar con ciertos procesos. Por ejemplo, es lo que usa vuestro programa de consola (Konsole, GNOME Terminal, iTerm...) para poder interactuar con la terminal del sistema (suele ser bash si no lo habéis cambiado).
Cuando la PTY se configura con dos opciones concretas (LECHO, !OPOST), el sistema espera que sólo haya un proceso escribiendo al mismo tiempo. Lo que hace el exploit es precisamente lo contrario: lanzar dos procesos (técnicamente, dos hilos) que escriben al mismo tiempo en la misma terminal. Por asi decirlo, es como si conectáis dos teclados al ordenador y escribís en los dos al mismo tiempo.
Esto es lo que se llama una condición de carrera en informática: hay dos tareas ejecutándose a la vez, y dependiendo del orden en el que ejecuten cada instrucción se puede producir un fallo. En este caso, si la ejecución es como la que veis en la siguiente tabla, el atacante consigue que el núcleo escriba en un espacio de memoria que no estaba reservado.
0 comentarios :
Publicar un comentario