La vulnerabilidad de arranque de Linux permite eludir las protecciones de arranque seguro

Una importante vulnerabilidad ha sido identificada en las distribuciones actuales de Linux. Esta permite a un atacante con acceso físico por un corto periodo de tiempo evadir las protecciones de arranque seguro (Secure Boot) al manipular el initramfs (sistema de archivos RAM inicial).

El ataque aprovecha los shells de depuración a los que se puede acceder durante fallas en el arranque del sistema. Esto posibilita la inyección de malware persistente que permanece en el sistema incluso después de reinicios y mantiene el acceso, incluso cuando los usuarios ingresan contraseñas correctas para las particiones cifradas.

Según Alexander Moch, la vulnerabilidad se centra en el initramfs, un componente fundamental en el proceso de arranque de Linux que se encarga de descifrar las particiones raíz. A diferencia de las imágenes del kernel y los módulos, el initramfs no suele estar firmado, lo que representa una brecha de seguridad explotable.

Cuando los usuarios introducen contraseñas incorrectas repetidamente para las particiones raíz cifradas, muchas distribuciones de Linux acceden automáticamente a un shell de depuración después de un tiempo de espera. Desde este shell, los atacantes pueden montar unidades USB externas que contienen herramientas y scripts especializados para llevar a cabo el ataque.

El ataque implica descomprimir initramfs usando el comando unmkinitramfs, inyectar ganchos maliciosos en el directorio scripts/local-bottom/ y volver a empaquetar los initramfs modificados.

Un guión clave demostrado en la investigación de Moch incluye:

Este gancho malicioso se ejecuta después del descifrado de la partición raíz, remontando el sistema de archivos como lectura-escritura y estableciendo un acceso persistente.

El ataque elude las protecciones tradicionales porque sigue la secuencia de inicio habitual y no modifica los componentes firmados del kernel.

Las pruebas realizadas en múltiples distribuciones revelaron distintos grados de susceptibilidad.

Ubuntu 25.04 requiere solo tres intentos de contraseña incorrectos antes de otorgar acceso al shell de depuración, mientras que Debian 12 se puede activar manteniendo presionada la tecla RETORNO durante aproximadamente un minuto.

Fedora 42 y AlmaLinux 10 presentan desafíos únicos ya que su initramfs predeterminado carece del módulo del kernel usb_storage, pero los atacantes pueden evitar esto iniciando reinicios usando Ctrl+Alt+Delete y seleccionando entradas de rescate, se lee en el informe.

En particular, OpenSUSE Tumbleweed parece inmune a este vector de ataque debido a su implementación de cifrado de partición de arranque predeterminada.

La vulnerabilidad representa lo que los expertos en seguridad clasifican como un escenario de ataque de “criada malvada”, que requiere acceso físico temporal a los sistemas comprometidos.

Recomendaciones

Varias contramedidas eficaces pueden prevenir este vector de ataque. La más simple implica modificar los parámetros de la línea de comandos del kernel: agregar pánico=0 para sistemas basados ​​en Ubuntu y rd.shell=0 rd.emergency=halt para distribuciones basadas en Red Hat.

Estos parámetros obligan al sistema a detenerse en lugar de proporcionar acceso al shell de depuración durante fallas de arranque. Las medidas de protección adicionales incluyen la configuración de los requisitos de contraseña del cargador de arranque para el arranque del sistema, la habilitación del cifrado nativo SSD y la implementación del cifrado LUKS para las particiones de arranque.

Las soluciones avanzadas incluyen imágenes de kernel unificadas (UKI), que combinan kernels e initramfs en binarios monolíticos firmados, y módulos de plataforma confiable (TPM) para medir la integridad de initramfs en registros de configuración de plataforma (PCR).