Un equipo de investigadores ha hecho pública una grave vulnerabilidad que afecta al gestor de arranque GRUB2 y que permitiría a un atacante esquivar la funcionalidad de Secure Boot utilizada por UEFI, modificando el contenido del fichero grub.cfg y de esta manera conseguir control para ejecutar software no firmado durante el arranque. Esta vulnerabilidad afecta basicamente a todos aquellos sistemas que utilizan UEFI y no se espera poder corregirla a corto plazo por las múltiples implicaciones que tiene todo el proceso necesario.

boothole

 

La vulnerabilidad, ya conocida como BootHole (CVE-2020-10713) reside en el gestor de arranque GRUB2 y como decíamos permite a un atacante evadir el proceso de Secure Boot de la UEFI y por ende saltarse todo el proceso de verificación de firmas de aplicaciones y tomar control efectivo del sistema pudiendo ejecutar todo tipo de acciones antes de la propia carga del sistema operativo.

En si misma, BootHole es una vulnerabilidad de buffer overflow, que afecta a todas las versiones de GRUB2 y que afecta a la manera en que GRUB2 procesa la información contenida en su fichero de configuración, grub.cfg, que por lo general no está firmado. Con lo cual los atacantes pueden actuar sobre un eslabón no firmado para romper la cadena de confianza de la UEFI.

El problema no reside únicamente en máquinas ejecutando Linux, sino que también en máquinas Windows, los atacantes podrían, teniendo previamente acceso de administrador, reemplazar el gestor de arranque por un GRUB2 vulnerable y aprovechar la misma vulnerabilidad para ejecutar por ejemplo malware específicamente diseñado. Este al ejecutarse previamente al sistema operativo dificulta su detección por métodos tradicionales.

Aunque se espera una versión actualizada de GRUB2 en breve, esto no será suficiente ya que un atacante podría aún sustituirla por una vulnerable, por lo que previamente los nuevos gestores de arranque tendrían que ser firmados por la autoridad de certificación UEFI y además los firmwares de todos los sistemas ser actualizados con una nueva base de datos de revocación para evitar que cualquier versión vulnerable de GRUB2 fuera utilizada en el sistema.
De todas maneras, diferentes fabricantes ya están trabajando contra reloj para ofrecer soluciones a esta vulnerabilidad, por lo que revisad la siguiente listas de avisos para seguir las instrucciones y recomendaciones relativas a vuestros productos

Microsoft
Security advisory
https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/ADV200011

UEFI Forum
Updated Revocation List
https://uefi.org/revocationlistfile

Debian
Security advisory
https://www.debian.org/security/2020-GRUB-UEFI-SecureBoot

Canonical
Security advisory
https://ubuntu.com/security/notices/USN-4432-1

KnowledgeBase article
https://wiki.ubuntu.com/SecurityTeam/KnowledgeBase/GRUB2SecureBootBypass


Red Hat
Customer documentation
https://access.redhat.com/security/vulnerabilities/grub2bootloader
CVE information
https://access.redhat.com/security/cve/cve-2020-10713
Vulnerability response article
https://access.redhat.com/security/vulnerabilities/grub2bootloader

SUSE
Security advisory:
https://www.suse.com/c/suse-addresses-grub2-secure-boot-issue/
Knowledge Base article:
https://www.suse.com/support/kb/doc/?id=000019673

HP
Security advisory
HPSBHF03678 rev. 1 – GRUB2 Bootloader Arbitrary Code Execution

HPE
Security advisory
https://techhub.hpe.com/eginfolib/securityalerts/Boot_Hole/boot_hole.html

VMware
Knowledge Base article
https://kb.vmware.com/s/article/80181

Upstream Grub2 project
GRUB2 Git Repository
GRUB Developer Mailing List

Fuente Eclypsium