“Algo ha salido muy mal”. Se podía leer en sistemas de arranque dual luego de una actualización de Microsoft, quien había informado que dicha actualización no se instalaría en dispositivos Linux.
El martes 13 próximo pasado, usuarios de Linux, incluyendo aquellos con paquetes lanzados este año, reportaron que sus dispositivos no lograban arrancar y recibieron un mensaje de error: “Algo ha salido muy mal” (“Something has gone seriously wrong”).
Causa: La actualización formaba parte del parche mensual y su objetivo era cerrar la vulnerabilidad CVE-2022-2601 de 2 años de antigüedad del GRUB, cargador de arranque múltiple de código abierto para iniciar en dispositivos que permite elegir qué Sistema Operativo arrancar de los instalados. La vulnerabilidad, cuya calificación de gravedad es 8,6 de 10, permitía a atacantes informáticos eludir el Secure Boot, el estándar de la industria que garantiza que los dispositivos no carguen firmware o software malicioso durante el proceso de arranque.
Múltiples distribuciones, las nuevas y las antiguas, afectadas
Dicha actualización dejó a los dispositivos con arranque dual que tenían activado el Secure Boot sin poder arrancar en Linux con el mensaje “Verifying shim SBAT data failed: Security Policy Violation. Something has gone seriously wrong: SBAT self-check failed: Security Policy Violation.”
En foros de discusión y soporte se remarcaba que Windows había informado que esta actualización se no aplicaría en sistemas con arranque dual y que probablemente dependía de la configuración del sistema y la distribución que se estaba ejecutando. Y que parecía haber hecho que algunos cargadores de arranque efi shim de Linux sean incompatibles con los cargadores de arranque microcrap efi (es por eso que funciona el cambio de MS efi a ‘otro sistema operativo’ en la configuración de efi). Parece que Mint tiene una versión de shim que el SBAT de MS no reconoce.
Múltiples distribuciones, incluidas Debian, Ubuntu, Linux Mint, Zorin OS y Puppy Linux, se vieron afectadas. Microsoft demoró en reconocer públicamente el error y lo hizo mediante un comunicado: “Esta actualización no se aplica cuando se detecta una opción de arranque de Linux. Somos conscientes de que algunos escenarios de arranque secundario están causando problemas para algunos clientes, incluidos aquellos que utilizan cargadores de arranque de Linux obsoletos con código vulnerable. Estamos trabajando con nuestros socios de Linux para investigar y abordar el problema”.
El boletín de Microsoft para CVE-20220-2601 explicaba que la actualización instalaría un SBAT (mecanismo de Linux para revocar varios componentes en la ruta de arranque) pero solo en dispositivos configurados para ejecutar únicamente Windows. De esa manera el Secure Boot en dispositivos Windows ya no sería vulnerable a ataques que cargaran un paquete GRUB que explotara la vulnerabilidad. Microsoft aseguró a los usuarios que sus sistemas de arranque dual no se verían afectados aunque advirtió que los dispositivos que ejecutan versiones anteriores de Linux podrían experimentar problemas.
“El valor SBAT no se aplica a sistemas de arranque dual que arrancan tanto Windows como Linux y no debería afectar a estos sistemas” decía el boletín. “Es posible que descubra que las ISO de distribuciones de Linux más antiguas no arrancan. Si esto ocurre trabaje con su proveedor de Linux para obtener una actualización”.
De hecho la actualización se aplicó a dispositivos que arrancan tanto con Windows como con Linux. Eso no solo incluye dispositivos de arranque dual, sino también dispositivos Windows que pueden iniciar Linux desde una imagen ISO, una unidad USB o un medio óptico. Es más, muchos de los sistemas afectados ejecutan versiones de Linux lanzadas recientemente, incluidas Ubuntu 24.04 y Debian 12.6.0.
Como Microsoft en un primer momento, se llamó al silencio, usuarios afectados por el problema se vieron obligados a encontrar sus propias soluciones:
- Una opción fue acceder al panel EFI y desactivar el Secure Boot. Dependiendo de las necesidades de seguridad del usuario, esta opción podía no ser aceptable.
- Una mejor opción a corto plazo fue eliminar el SBAT que Microsoft lanzó. Esto significa que los usuarios aún recibirán algunos de los beneficios del Secure Boot, incluso si permanecen vulnerables a ataques que exploten CVE-2022-2601. Los pasos específicos son:
- Desactivar el Secure Boot.
- Iniciar sesión con el usuario de Ubuntu que se posee y abrir una terminal.
- Eliminar la política SBAT con:
sudo mokutil –set-sbat-policy delete - Reiniciar la PC y volver a iniciar sesión en Ubuntu para actualizar la política SBAT.
- Reiniciar y volver a habilitar el arranque seguro en la BIOS.
Este último incidente subraya el desorden en que se ha convertido Secure Boot, o que posiblemente siempre fue. En los últimos 18 meses, los investigadores han descubierto al menos cuatro vulnerabilidades que pueden explotarse para neutralizar por completo el mecanismo de seguridad.
«Al final del día, si bien Secure Boot hace que el arranque de Windows sea más seguro, parece tener una creciente cantidad de fallas que lo hacen no tan seguro como se pretende», dijo Will Dormann, analista senior de vulnerabilidades en Empresa de seguridad Analygence.
Referencia:
Goodin, D. (2024, August 20). “Something has gone seriously wrong,” dual-boot systems warn after Microsoft update. Ars Technica. https://arstechnica.com/security/2024/08/a-patch-microsoft-spent-2-years-preparing-is-making-a-mess-for-some-linux-users/