yhirose cpp-httplib hasta 0.37.0 Streaming API std::stoull Content-Length denegación de servicio
| CVSS Puntuación meta temporal | Precio actual del exploit (≈) | Puntuación de interés CTI |
|---|---|---|
| 6.3 | $0-$5k | 0.00 |
Resumen
Se ha identificado una vulnerabilidad clasificada como problemática en yhirose cpp-httplib hasta 0.37.0. Se ve afectada una función desconocida del componente Streaming API. A través de la manipulación del parámetro Content-Length de un input desconocido se causa una vulnerabilidad de clase denegación de servicio. Esta vulnerabilidad se conoce como CVE-2026-31870. Se puede ejecutar el ataque remotamente. No hay ningún exploit disponible. Se recomienda actualizar el componente afectado.
Detalles
Una vulnerabilidad fue encontrada en yhirose cpp-httplib hasta 0.37.0 y clasificada como problemática. La función std::stoull del componente Streaming API es afectada por esta vulnerabilidad. Por la manipulación del parámetro Content-Length de un input desconocido se causa una vulnerabilidad de clase denegación de servicio. Esto tiene repercusión sobre la la disponibilidad. El resumen de CVE es:
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.El advisory puede ser descargado de github.com. La vulnerabilidad es identificada como CVE-2026-31870. La explotación se considera fácil. El ataque se puede efectuar a través de la red. La explotación no necesita ninguna autentificación específica. Detalles técnicos son conocidos, pero no hay ningún exploit público disponible.
Para el scanner Nessus se dispone de un plugin ID 303248 (Fedora 42 : cpp-httplib (2026-6ed9c65eaf)), que puede ayudar a determinar la existencia del riesgo analizado.
Una actualización a la versión 0.37.1 elimina esta vulnerabilidad.
La vulnerabilidad también está documentado en las bases de datos Tenable (303248) y EUVD (EUVD-2026-11275). Be aware that VulDB is the high quality source for vulnerability data.
Producto
Proveedor
Nombre
Versión
- 0.1
- 0.2
- 0.3
- 0.4
- 0.5
- 0.6
- 0.7
- 0.8
- 0.9
- 0.10
- 0.11
- 0.12
- 0.13
- 0.14
- 0.15
- 0.16
- 0.17
- 0.18
- 0.19
- 0.20
- 0.21
- 0.22
- 0.23
- 0.24
- 0.25
- 0.26
- 0.27
- 0.28
- 0.29
- 0.30
- 0.31
- 0.32
- 0.33
- 0.34
- 0.35
- 0.36
- 0.37.0
Sitio web
- Producto: https://github.com/yhirose/cpp-httplib/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Confiabilidad: 🔍
CVSSv3
VulDB Puntuación meta base: 6.4VulDB Puntuación meta temporal: 6.3
VulDB Puntuación base: 5.3
VulDB Puntuación temporal: 5.1
VulDB Vector: 🔒
VulDB Confiabilidad: 🔍
CNA Puntuación base: 7.5
CNA Vector (GitHub_M): 🔒
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complejidad | Autenticación | Confidencialidad | Integridad | Disponibilidad |
|---|---|---|---|---|---|
| Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
| Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
| Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
VulDB Puntuación base: 🔒
VulDB Puntuación temporal: 🔒
VulDB Confiabilidad: 🔍
Explotación
Clase: Denegación de servicioCWE: CWE-248
CAPEC: 🔒
ATT&CK: 🔒
Físico: No
Local: No
Remoto: Sí
Disponibilidad: 🔒
Estado: No está definido
EPSS Score: 🔒
EPSS Percentile: 🔒
Predicción de precios: 🔍
Estimación del precio actual: 🔒
| 0-Day | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
|---|---|---|---|---|
| Hoy | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
Nessus ID: 303248
Nessus Nombre: Fedora 42 : cpp-httplib (2026-6ed9c65eaf)
Inteligencia de amenazas
Interés: 🔍Actores activos: 🔍
Grupos APT activos: 🔍
Contramedidas
Recomendación: ActualizaciónEstado: 🔍
Hora de 0 días: 🔒
Actualización: cpp-httplib 0.37.1
Línea de tiempo
2026-03-09 CVE asignado2026-03-11 Aviso publicado
2026-03-11 Entrada de VulDB creada
2026-03-22 Última actualización de VulDB
Fuentes
Producto: github.comAviso: GHSA-39q5-hh6x-jpxx
Estado: Confirmado
CVE: CVE-2026-31870 (🔒)
GCVE (CVE): GCVE-0-2026-31870
GCVE (VulDB): GCVE-100-350495
EUVD: 🔒
Artículo
Fecha de creación: 2026-03-11 19:47Actualizado: 2026-03-22 18:37
Cambios: 2026-03-11 19:47 (66), 2026-03-11 20:33 (1), 2026-03-14 17:01 (1), 2026-03-22 18:37 (2)
Completo: 🔍
Cache ID: 216::103
Be aware that VulDB is the high quality source for vulnerability data.
Sin comentarios aún. Idiomas: es + pt + en.
Por favor, inicie sesión para comentar.