Vulnerabilidad CVE-2023-38545

Vulnerabilidad CVE-2023-38545

Publicado: 07/10/2025

Escrito por: Monica Burgess

CVE-2023-38545, también conocida como "SOCKS5 heap buffer overflow", es una vulnerabilidad de alta gravedad en la ampliamente usada biblioteca cURL. Esta falla permite que un servidor malicioso provoque un desbordamiento de búfer en un cliente que se conecta, lo que podría derivar en ejecución remota de código (RCE). Afecta a las aplicaciones que usan libcurl para los protocolos de enlace de proxy SOCKS5.

¿Qué es la vulnerabilidad CVE-2023-38545 Wil Hayes?

CVE-2023-38545 es una vulnerabilidad de desbordamiento de búfer basado en el montículo que se encuentra en libcurl, una de las bibliotecas de código abierto más comunes para transferir datos con URL. Cuando una aplicación usa libcurl para conectarse a un proxy SOCKS5 y la conexión es lenta, la lógica para manejar el nombre de dominio puede confundirse. Si el nombre de dominio es más largo de lo que el búfer puede manejar, puede desbordarse, lo que crea una oportunidad perfecta para que un atacante pueda potencialmente ejecutar código arbitrario en la máquina cliente. Esto la convierte en un riesgo crítico de ejecución remota de código (RCE).

¿Cuándo se descubrió?

La vulnerabilidad fue reportada al proyecto cURL el 30 de septiembre de 2023 por el investigador de seguridad Jay Satiro. Siguiendo prácticas de divulgación responsable, los detalles se mantuvieron en reserva para dar tiempo a los desarrolladores de crear y distribuir una solución. La divulgación pública de CVE-2023-38545 ocurrió el 11 de octubre de 2023, junto con el lanzamiento de versiones parcheadas de cURL y libcurl.

Productos y versiones afectados

La vulnerabilidad afecta un rango específico de versiones de cURL y libcurl. Si usas alguna de las versiones listadas a continuación, debes aplicar el parche de inmediato.

Producto

Versiones afectadas

Versiones corregidas

libcurl

7.69.0 a 8.3.0

8.4.0 y posteriores

cURL

7.69.0 a 8.3.0

8.4.0 y posteriores

Descripción técnica de CVE-2023-38545

Entonces, ¿cómo sucede todo esto? La explotabilidad de CVE-2023-38545 depende de un conjunto específico de circunstancias durante un intercambio de señales (handshake) de proxy SOCKS5. La vulnerabilidad se encuentra en la función que resuelve los hostnames. Cuando libcurl se configura para que el proxy maneje la resolución del hostname (CURLOPT_PROXYTYPE configurado como CURLPROXY_SOCKS5_HOSTNAME), primero copia el hostname en un búfer temporal.

El problema comienza cuando el intercambio de señales de la conexión es lento. Libcurl cambia de una función bloqueante a una no bloqueante. En este modo no bloqueante, si el hostname es más largo que el búfer local (normalmente 256 bytes), los datos se desbordan. Un actor malicioso puede controlar el hostname y explotar este desbordamiento. Al crear un hostname muy largo y configurar un servidor SOCKS5 malicioso, un atacante puede sobrescribir memoria en el heap, lo que podría provocar una falla o, peor aún, ejecución remota de código.

Tácticas, técnicas y procedimientos (TTPs)

Un atacante que busque explotar CVE-2023-38545 probablemente usaría ingeniería social u otros medios para engañar a un usuario y hacer que se conecte a una URL maliciosa con una aplicación vulnerable. El atacante controlaría el servidor proxy SOCKS5. Cuando la aplicación de la víctima intenta conectarse, el servidor ralentiza intencionalmente el proceso de intercambio de señales. Esto activa el estado vulnerable en libcurl, y el servidor envía de vuelta un hostname excesivamente largo, lo que provoca el desbordamiento del búfer y permite que el código del atacante se ejecute en el sistema de la víctima.

Indicadores de compromiso (IOCs)

Dado que esta es una vulnerabilidad del lado del cliente que se activa al conectarse a un servidor malicioso, los principales indicadores de compromiso de la vulnerabilidad CVE-2023-38545 implican tráfico de red. Supervisa las conexiones salientes inusuales o sospechosas hacia proxies SOCKS5. Busca solicitudes DNS de hostnames excepcionalmente largos, especialmente aquellos que parezcan maliciosos o sin sentido. Cualquier falla en aplicaciones que dependan en gran medida de cURL para solicitudes de red también debe investigarse como un posible síntoma de un intento de explotación.

Pruebas de concepto y exploits conocidos

Poco después de que se divulgara la vulnerabilidad, los investigadores de seguridad comenzaron a publicar código de prueba de concepto (PoC) para CVE-2023-38545. Estos PoCs demostraron cómo provocar la falla y, en algunos casos, lograr ejecución arbitraria de código bajo condiciones controladas. Aunque las campañas de explotación activa y generalizada no han sido tan frecuentes como se temía inicialmente, la disponibilidad de estos PoCs significa que cualquier sistema sin parchear es un blanco fácil. El potencial de un exploit para CVE-2023-38545 es muy real.

Cómo detectar la vulnerabilidad CVE-2023-38545

Detectar esta vulnerabilidad requiere un enfoque de múltiples capas. Ante todo, es clave contar con un inventario sólido de un activo de ciberseguridad y un proceso de escaneo de vulnerabilidades. Necesitas saber qué sistemas y aplicaciones de tu red usan las versiones afectadas de libcurl.

A nivel de endpoint, las soluciones de Detección y respuesta para endpoints (EDR) pueden ayudar. Monitorea los procesos que usan libcurl en busca de comportamiento anómalo, como fallas inesperadas o la generación de procesos secundarios sospechosos (como cmd.exe o powershell.exe). El monitoreo de red también es fundamental. Se pueden configurar reglas de SIEM para marcar conexiones salientes a proxies SOCKS5 desconocidos o consultas DNS de nombres de dominio inusualmente largos.

Impacto y riesgo de la vulnerabilidad CVE-2023-38545

El impacto de una explotación exitosa de CVE-2023-38545 es grave. Dado que cURL está integrado en incontables aplicaciones, sistemas operativos (incluyendo Windows, macOS y Linux) e incluso dispositivos IoT, la superficie de ataque es enorme. Un RCE exitoso le da a un atacante un punto de apoyo persistente dentro de tu red. A partir de ahí, pueden moverse lateralmente, exfiltrar datos sensibles, implementar ransomware o usar tu sistema como punto de pivote para atacar a otros. El riesgo para la confidencialidad, integridad y disponibilidad de los datos es increíblemente alto.

Estrategias de mitigación y remediación

La mejor defensa es un buen ataque. En este caso, eso significa aplicar parches.

La mitigación principal de la vulnerabilidad CVE-2023-38545 es actualizar cURL y libcurl a la versión 8.4.0 o posterior. Esta versión contiene el parche oficial de CVE-2023-38545 que corrige el desbordamiento de búfer en el heap.

Si no puedes aplicar el parche de inmediato, hay algunas soluciones alternativas:

  • Evita usar proxies SOCKS5 con resolución de nombres en tus aplicaciones.

  • Si debes usar un proxy SOCKS5, no configures CURLPROXY_SOCKS5_HOSTNAME en las opciones de cURL de tu aplicación.

  • Bloquea el tráfico SOCKS5 saliente en tu firewall para todos los destinos, salvo los explícitamente confiables.

En definitiva, aplicar parches es la única forma segura de remediar el riesgo. No esperes a que los actores de amenazas encuentren tus sistemas vulnerables por ti. Un enfoque proactivo de gestión de parches, combinado con herramientas de detección de amenazas eficaces como ITDR, es tu mejor opción para mantenerte seguro.

Preguntas frecuentes sobre la vulnerabilidad CVE-2023-38545

CVE-2023-38545 es una vulnerabilidad de desbordamiento de búfer en el montón de alta gravedad en la biblioteca cURL. Ocurre cuando una aplicación vulnerable se conecta a un proxy SOCKS5 malicioso. El proxy puede devolver un nombre de servidor demasiado largo, lo que desborda un búfer en la memoria del cliente y potencialmente permite que un atacante ejecute código arbitrario.

Esta vulnerabilidad no "infecta" sistemas como un virus. En cambio, se explota cuando un usuario ejecuta una aplicación que usa una versión vulnerable de libcurl para conectarse a un servidor controlado por un atacante. El atacante engaña a la aplicación para que acepte más datos de los que puede manejar, lo que lleva a la explotación.

Sí, definitivamente. Aunque los parches han estado disponibles durante un tiempo, muchos sistemas y aplicaciones siguen sin parchear. Dado el uso generalizado de cURL en todo tipo de dispositivos, desde autos hasta servidores web, es probable que incontables dispositivos sigan siendo vulnerables, lo que lo convierte en una amenaza persistente para los atacantes.

La protección más eficaz es aplicar el parche de CVE-2023-38545 actualizando todas las instancias de cURL y libcurl a la versión 8.4.0 o posterior. Las organizaciones también deberían usar escáneres de vulnerabilidades para identificar los activos afectados e implementar monitoreo de red para detectar conexiones salientes sospechosas de SOCKS5.

Protege lo que importa

Protege endpoints, correo electrónico y empleados con el poder de nuestro SOC 24/7. Prueba Huntress gratis y despliega en minutos para empezar a combatir las amenazas.
Probar Huntress gratis