PoC - CVE-2023-4911 - glibc “Looney Tunables” Local Privilege Escalations
Resumen
Desarrollé una Proof of Concept (PoC) que demuestra una vulnerabilidad de escalada local de privilegios en GNU C Library (glibc), conocida como “Looney Tunables” y registrada como CVE-2023-4911. La vulnerabilidad se origina en un buffer overflow dentro del cargador dinámico (ld.so) al procesar la variable de entorno GLIBC_TUNABLES.
La PoC demuestra cómo, mediante la manipulación controlada de variables de entorno y la ejecución de binarios con bit SUID habilitado, es posible corromper el estado interno del cargador dinámico y forzar la ejecución de código con privilegios elevados. El exploit fue publicado y verificado en Exploit Database (EDB-ID 52479).
Detalle técnico
Producto afectado: GNU C Library (glibc)
Versiones afectadas: 2.34 hasta < 2.39
CVE: CVE-2023-4911
Componente vulnerable: Dynamic Loader (
ld.so)Vector de ataque: Manipulación de la variable de entorno
GLIBC_TUNABLESTipo de vulnerabilidad: Heap-based Buffer Overflow / Out-of-bounds Write
Impacto: Local Privilege Escalation (LPE)
Plataforma: Linux
Descripción de la PoC
La PoC explota un desbordamiento de memoria en el procesamiento de GLIBC_TUNABLES, que permite sobrescribir estructuras internas del cargador dinámico.
El exploit realiza las siguientes acciones:
Construcción de variables de entorno especialmente diseñadas para provocar el desbordamiento.
Manipulación del estado del cargador dinámico.
Alteración del comportamiento de carga de bibliotecas compartidas.
Ejecución de un binario SUID (
/usr/bin/su) con un entorno manipulado.Obtención de ejecución de código en contexto privilegiado (root).
La PoC incluye la generación de una versión modificada de libc.so.6 con shellcode embebido, demostrando la posibilidad de control de flujo y ejecución arbitraria en sistemas vulnerables.
No requiere interacción del usuario ni acceso remoto: el vector es puramente local.
Comportamiento demostrado
Corrupción de memoria en el cargador dinámico (
ld.so).Control parcial de estructuras internas del proceso.
Manipulación de carga de bibliotecas dinámicas.
Ejecución de código con privilegios elevados.
Escalada efectiva a root en entornos vulnerables.
Entorno de pruebas
Sistema operativo: Ubuntu 22.04.3 LTS (x64)
Versión glibc: 2.35-0ubuntu3.3
Arquitectura: x86_64
Escenario: Laboratorio controlado
Impacto
Un atacante local con acceso al sistema puede:
Escalar privilegios hasta root.
Comprometer completamente la confidencialidad, integridad y disponibilidad del sistema.
Realizar movimientos laterales en entornos multiusuario.
Bypassear mecanismos de aislamiento basados únicamente en permisos estándar de usuario.
Dado que afecta al cargador dinámico del sistema, el impacto es crítico en entornos Linux vulnerables.
Mitigaciones recomendadas
Actualizar glibc a versiones parcheadas (≥ 2.39 o versiones corregidas por el vendor).
Aplicar parches de seguridad proporcionados por la distribución.
Restringir el uso de binarios SUID innecesarios.
Implementar controles de endurecimiento del sistema (hardening).
Monitorizar ejecuciones anómalas de binarios privilegiados.
Referencias
Exploit Database: https://www.exploit-db.com/exploits/52479
CVE Record: https://nvd.nist.gov/vuln/detail/CVE-2023-4911
Esta PoC ha sido desarrollada únicamente con fines educativos y de investigación. No debe ejecutarse contra sistemas en producción ni sin autorización expresa. Seguir siempre prácticas de responsible disclosure.
Last updated