# PoC - CVE-2023-4911 - glibc “Looney Tunables” Local Privilege Escalations

{% embed url="<https://www.exploit-db.com/exploits/52479>" %}

#### 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_TUNABLES`
* **Tipo 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>

{% hint style="danger" %}
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*.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://beafn28.gitbook.io/beafn28/cve-and-poc/poc-cve-2023-4911-glibc-looney-tunables-local-privilege-escalations.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
