Se ha identificado una vulnerabilidad crítica en la biblioteca GNU C (glibc) que podría exponer a un gran número de sistemas Linux a ataques de escalada de privilegios a nivel local.
Esta vulnerabilidad, registrada bajo el identificador CVE-2025-4802 y divulgada públicamente el 16 de mayo de 2025, permitiría a atacantes la ejecución de código arbitrario mediante la manipulación de la variable de entorno LD_LIBRARY_PATH.
Los sistemas que operan con Rocky Linux, Debian, Ubuntu y otras distribuciones relevantes de Linux que utilizan las versiones de glibc comprendidas entre la 2.27 y la 2.38 se encuentran potencialmente afectados por esta falla de seguridad.
La falla afecta a los binarios setuid vinculados estáticamente que llaman a la función dlopen(), ya sea directa o indirectamente a través de funciones comunes como setlocale() o funciones de Network Security Services (NSS) como getaddrinfo().
Normalmente, los binarios setuid ignoran variables ambientales como LD_LIBRARY_PATH por razones de seguridad, pero esta vulnerabilidad elude esa protección.
«Un binario setuid vinculado estáticamente que llama a dlopen puede buscar incorrectamente LD_LIBRARY_PATH para determinar qué biblioteca cargar, lo que lleva a la ejecución de código de biblioteca controlado por el atacante», afirma el aviso de seguridad oficial de glibc.
La vulnerabilidad se introdujo en 2017 mediante la confirmación 10e93d968716ab82931d593bada121c17c0a4b93 y se solucionó en enero de 2023 mediante la confirmación 5451fa962cd0a90a0e2ec1d8910a559ace02bba0, que se incorporó a glibc 2.39.
El investigador de seguridad Solar Designer ha desarrollado y compartido públicamente un caso de prueba que demuestra la vulnerabilidad.
Cuando se compila en una biblioteca compartida y se coloca en un directorio especificado por LD_LIBRARY_PATH, este código puede ser cargado por programas vulnerables, lo que potencialmente permite la ejecución de código arbitrario con privilegios elevados.
Si bien el aviso de seguridad señala que “no se ha descubierto ningún programa de este tipo al momento de su publicación”, la vulnerabilidad sigue siendo preocupante porque los programas setuid personalizados, aunque no se recomiendan como práctica de seguridad, son comunes en entornos empresariales.
Esto hace que el error sea una vulnerabilidad de baja probabilidad pero de alto impacto, especialmente en entornos con binarios estáticos heredados o personalizados.
Recomendaciones de mitigación
Los administradores del sistema deben priorizar las siguientes acciones:
- Actualice glibc a la versión 2.39 o posterior, que contiene la solución para esta vulnerabilidad.
- Aplique los parches de seguridad disponibles de su proveedor de distribución de Linux.
- Sistemas de auditoría para binarios setuid vinculados estáticamente, particularmente aplicaciones personalizadas.
- Considere implementar controles de acceso adicionales utilizando SELinux o AppArmor.
- Revise y minimice el uso de binarios setuid en todos los sistemas.
Las organizaciones que emplean distribuciones Linux de versiones anteriores deben verificar con sus respectivos proveedores la disponibilidad de parches compatibles que mitiguen esta vulnerabilidad. El problema de seguridad impacta a sistemas que datan de 2017, año en que se introdujo la versión 2.27 de glibc.