Hace poco se dio a conocer información sobre 8 vulnerabilidades en el cargador de arranque GRUB2, que permite omitir el mecanismo de arranque seguro UEFI y hacer que se ejecute código no verificado, por ejemplo, para inyectar malware que se ejecuta en el nivel del cargador de arranque o del kernel.
Hay que recordar que en la mayoría de las distribuciones de Linux, para el arranque verificado en el modo de arranque seguro UEFI, se utiliza una pequeña capa de compensación certificada por una firma digital de Microsoft.
Esta capa verifica GRUB2 con su propio certificado, lo que permite a los desarrolladores no certificar cada kernel y actualización de GRUB a Microsoft.
Con ello las vulnerabilidades en GRUB2 permiten lograr la ejecución de su código en la etapa posterior a la verificación exitosa de la corrección, pero antes de que se cargue el sistema operativo, encajándose en la cadena de confianza cuando Secure Boot está activo y obteniendo control total sobre el proceso de arranque posterior, incluido para arrancar otro sistema operativo, modifique el sistema de componentes del sistema operativo y omita el bloqueo de protección.
Al igual que en el caso de la vulnerabilidad BootHole del año pasado, actualizar el gestor de arranque no es suficiente para bloquear el problema, ya que un atacante, independientemente del sistema operativo utilizado, puede utilizar medios de arranque con una antigua versión vulnerable de GRUB2, certificada con firma digital, para comprometer UEFI Secure Boot.