Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en cpp-httplib (CVE-2025-46728)

Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-400 Consumo de recursos no controlado (Agotamiento de recursos)
Fecha de publicación:
06/05/2025
Última modificación:
07/05/2025

Descripción

cpp-httplib es una librería de cliente y servidor HTTP/HTTPS de solo encabezado de C++. Antes de la versión 0.20.1, la librería no aplicaba los límites de tamaño configurados en los cuerpos de las solicitudes entrantes cuando se usaba `Transfer-Encoding: chunked` o cuando no se proporcionaba el encabezado `Content-Length`. Un atacante remoto podría enviar una solicitud fragmentada sin el fragmento de longitud cero de terminación, lo que causaba una asignación de memoria incontrolada en el servidor. Esto podría agotar la memoria del sistema y provocar un bloqueo o falta de respuesta del servidor. La versión 0.20.1 soluciona el problema aplicando límites durante el análisis. Si se supera el límite en cualquier momento durante la lectura, la conexión se termina inmediatamente. Existe una solución temporal a través de un proxy inverso. Si no es posible actualizar la librería inmediatamente, implemente un proxy inverso (p. ej., Nginx, HAProxy) delante de la aplicación `cpp-httplib`. Configure el proxy para aplicar límites de tamaño máximo en el cuerpo de la solicitud, deteniendo así las solicitudes excesivamente grandes antes de que lleguen al código de la librería vulnerable.