
Investigadores de seguridad de Qualys han revelado dos vulnerabilidades de escalada local de privilegios (LPE) en múltiples distribuciones de Linux que, al ser encadenadas, permiten que un usuario no privilegiado obtenga acceso completo como root. Estas fallas afectan componentes ampliamente distribuidos como PAM y Udisks/libblockdev, utilizados por defecto en la mayoría de los sistemas Linux modernos.
Las vulnerabilidades identificadas son las siguientes:
- CVE-2025-6018: Presente en la configuración de PAM en openSUSE Leap 15 y SUSE Linux Enterprise 15. Permite que un atacante local obtenga privilegios de allow_active (normalmente reservados para usuarios con acceso físico).
- CVE-2025-6019: Vulnerabilidad en libblockdev explotable a través del daemon udisks2, permite a un atacante con privilegios allow_active ejecutar código como root al montar un sistema de archivos malicioso.
Detalles técnicos:
Según Qualys, los atacantes pueden aprovechar pam_env.so para establecer variables de entorno antes de la ejecución de pam_systemd.so, lo cual engaña a PAM para otorgar privilegios allow_active. Esto permite invocar acciones protegidas por polkit sin acceso físico. Encadenando esta condición con CVE-2025-6019, los atacantes pueden montar un dispositivo que contenga un shell con permisos SUID-root, el cual se ejecuta sin restricciones de seguridad (sin nosuid ni nodev), logrando una escalada total de privilegios.
La explotación exitosa requiere una sesión activa GUI o SSH. Aunque aún no se reporta explotación activa en el mundo real, ya existe un proof of concept (PoC) público, lo que incrementa el riesgo de ataques inminentes.
Distribuciones afectadas:
Estas fallas han sido confirmadas en Ubuntu, Debian, Fedora y openSUSE, entre otras. En el caso de Ubuntu, la vulnerabilidad CVE-2025-6018 no aplica en instalaciones por defecto, pero configuraciones personalizadas de PAM podrían ser vulnerables.
Versiones corregidas:
A continuación, se listan las versiones que corrigen las fallas en libblockdev y udisks2 para distintas versiones de Ubuntu:
Release | Paquete | Versión corregida |
---|---|---|
Bionic (18.04) | libblockdev | 2.16-2ubuntu0.1~esm1 |
Focal (20.04) | libblockdev | 2.23-2ubuntu3+esm1 |
Jammy (22.04) | libblockdev | 2.26-1ubuntu0.1 |
Noble (24.04) | libblockdev | 3.1.1-1ubuntu0.1 |
Oracular (24.10) | libblockdev | 3.1.1-2ubuntu0.1 |
Plucky (25.04) | libblockdev | 3.3.0-2ubuntu0.1 |
Bionic (18.04) | udisks2 | 2.7.6-3ubuntu0.2+esm1 |
Focal (20.04) | udisks2 | 2.8.4-1ubuntu2+esm1 |
Jammy (22.04) | udisks2 | 2.9.4-1ubuntu2.2 |
Noble (24.04) | udisks2 | 2.10.1-6ubuntu1.2 |
Oracular (24.10) | udisks2 | 2.10.1-9ubuntu3.2 |
Plucky (25.04) | udisks2 | 2.10.1-11ubuntu2.2 |
Recomendaciones:
- Actualizar inmediatamente a las versiones corregidas de libblockdev y udisks2.
- Si no se pueden aplicar los parches, modificar temporalmente el archivo /usr/share/polkit-1/actions/org.freedesktop.UDisks2.policy para requerir autenticación administrativa, cambiando:
- Verificar configuraciones personalizadas de PAM y evitar colocar pam_env.so antes de pam_systemd.so.
- Aplicar el principio de mínimo privilegio y monitorear los sistemas para detectar cualquier comportamiento sospechoso.
- Evaluar herramientas adicionales de protección para el entorno Linux, como AppArmor, SELinux o herramientas EDR específicas.
Mitigación temporal:
La protección más efectiva es aplicar las actualizaciones de seguridad oficiales. No obstante, si no es posible aplicar los parches de inmediato, se recomienda la siguiente mitigación, que debe considerarse como una medida temporal y revertirse una vez que el sistema esté corregido.
Nota: cualquier actualización o reinstalación del paquete udisks2 restablecerá los cambios locales realizados en este archivo.
Instrucciones:
Modificar el archivo /usr/share/polkit-1/actions/org.freedesktop.UDisks2.policy
y cambiar la política de autenticación para la acción org.freedesktop.udisks2.modify-device
, reemplazando:
<allow_active>yes</allow_active>
por:
<allow_active>auth_admin</allow_active>
Referencias