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

Vulnerabilidad en cpp-httplib de yhirose (CVE-2026-31870)

Gravedad CVSS v3.1:
ALTA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
11/03/2026
Última modificación:
18/03/2026

Descripción

cpp-httplib es una biblioteca HTTP/HTTPS multiplataforma de un solo archivo y solo de cabecera para C++11. Antes de la versión 0.37.1, cuando un cliente cpp-httplib utiliza la API de streaming (httplib::stream::Get, httplib::stream::Post, etc.), la biblioteca llama directamente a std::stoull() sobre el valor del encabezado Content-Length recibido del servidor sin validación de entrada y sin manejo de excepciones. std::stoull lanza std::invalid_argument para cadenas no numéricas y std::out_of_range para valores que exceden ULLONG_MAX. Dado que nada captura estas excepciones, el tiempo de ejecución de C++ llama a std::terminate(), lo que termina el proceso con SIGABRT. Cualquier servidor al que se conecte el cliente —incluidos los servidores alcanzados a través de redirecciones HTTP, APIs de terceros o posiciones de man-in-the-middle— puede bloquear la aplicación cliente con una única respuesta HTTP. No se requiere autenticación. No se requiere interacción del usuario final. El bloqueo es determinista e inmediato. Esta vulnerabilidad se corrige en la versión 0.37.1.

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:a:yhirose:cpp-httplib:*:*:*:*:*:*:*:* 0.37.1 (excluyendo)


Referencias a soluciones, herramientas e información