Hoy en día, el dicho de que «Linux es seguro» ha quedado atrás. Igual que puede ocurrir con cualquier otro sistema operativo, este esconde entre sus líneas todo tipo de vulnerabilidades que, cuando se descubren, ponen en jaque la seguridad de los usuarios. Aunque también es cierto que, por lo general, su mitigación suele ser muy superior a la de otros sistemas operativos como Windows o macOS. Linux tiene una gran cantidad de componentes y herramientas necesarias para que pueda funcionar. Y, como cada una lleva su desarrollo de forma independiente, es fácil que los investigadores encuentren fallos, como ha pasado con GRUB2.
GRUB2 es el gestor de arranque más utilizado por defecto en todo tipo de distribuciones. Este es el encargado de mostrarnos una pantalla con todos los sistemas operativos que tengamos instalados en el ordenador y nos dará a elegir con cuál queremos arrancar. Además, si solo tenemos un sistema (Linux), también nos brinda acceso a una serie de herramientas (como Memtest) y nos brinda la posibilidad de arrancar nuestro Linux con una versión del Kernel diferente a la que tengamos instalada por defecto.
No es la primera vez que se encuentran fallos graves en GRUB. El año pasado, por ejemplo, se descubrió una vulnerabilidad (BootHole) que podía permitir a un atacante comprometer un sistema saltándose las medidas de seguridad del Secure Boot. Y ahora, GRUB2 vuelve a ser noticia por una serie de fallos similares.
Los fallos de seguridad de GRUB2
Los responsables de GRUB2 han publicado esta misma semana un total de 117 correcciones de seguridad con los que corregir los 8 graves fallos encontrados en su herramienta. Estos 8 fallos han sido detectado, en gran parte, a raíz del fallo de BootHole, por lo que guardan relación con él. Y podemos encontrarlos en varios niveles de peligrosidad. Los más graves, con una nota de 7.5 sobre 10, son:
- CVE-2020-14372: fallo que permite al comando ACPI cargar tablas ACPI incluso con el Secure Boot habilitado.
- CVE-2020-25632: una mala implementación del módulo rmmod permite a un atacante descargar módulos sin verificar.
- CVE-2020-27749: desbordamiento de búfer que puede ser utilizado para eludir las protecciones del Secure Boot.
- CVE-2020-27779: el comando «cutmem» permite a un usuario eliminar partes de la memoria incluso con el arranque seguro habilitado.
- CVE ‑ 2021‑20225: permite ejecutar comandos más allá del búfer asignado.
- CVE ‑ 2021‑20233: fallo en los límites de escritura que permite ejecutar código.
Además, también se han solucionado dos fallos de peligrosidad media que podían utilizarse para poner en peligro igualmente la seguridad de los usuarios:
- CVE-2020-25647: un fallo que permite generar daños en la memoria al inicializar dispositivos USB de forma incorrecta.
- CVE-2021-3418: vuelve un fallo, CVE-2020-15705, con GRUB 2.0.5 que permite iniciar sistemas Linux con un nivel de permisos incorrecto.
Dada la gravedad de la vulnerabilidad BootHole que fue descubierta en GRUB, estos fallos de seguridad, derivados de ella, son bastante graves, Y, por tanto, debemos solucionarlos lo antes posible.
Actualizar Linux para proteger GRUB2
Los responsables de GRUB2 han lanzado un total de 117 parches necesarios para tapar todas estas vulnerabilidades. Además, junto a los parches, han publicado una serie de instrucciones para que los responsables de las principales distros (como Canonical, Debian, RedHat y Suse) actualicen sus gestores de arranque cuanto antes y puedan mitigar estos fallos.
Lo único que debemos hacer para protegernos es instalar los últimos parches para Linux de manera que nuestro PC vuelva a quedar protegido.
También podemos tomar la decisión de borrar GRUB2 de nuestro PC e instalar un gestor de arranque alternativo, como puede ser Lilo. Incluso si usamos Windows, podemos usar MBR, el propio gestor de arranque de Microsoft, para poder elegir con qué sistema operativo queremos encender el PC.