p PatchFirst

CVE-2025-46728

CVE-2025-46728 · cpp-httplib has Unbounded Memory Allocation in Chunked/No-Length Requests

Esta página presenta datos de fuentes públicas de vulnerabilidades. Consulta el aviso original antes de actualizar.

cpp-httplib is a C++ header-only HTTP/HTTPS server and client library. Prior to version 0.20.1, the library fails to enforce configured size limits on incoming request bodies when `Transfer-Encoding: chunked` is used or when no `Content-Length` header is provided. A remote attacker can send a chunked request without the terminating zero-length chunk, causing uncontrolled memory allocation on the server. This leads to potential exhaustion of system memory and results in a server crash or unresponsiveness. Version 0.20.1 fixes the issue by enforcing limits during parsing. If the limit is exceeded at any point during reading, the connection is terminated immediately. A short-term workaround through a Reverse Proxy is available. If updating the library immediately is not feasible, deploy a reverse proxy (e.g., Nginx, HAProxy) in front of the `cpp-httplib` application. Configure the proxy to enforce maximum request body size limits, thereby stopping excessively large requests before they reach the vulnerable library code.

CVSS 7.5 · Alta · EPSS 0,7% · Corrección disponible

Publicación
Actualización

Pila tecnológica: system

Productos y versiones afectados

  • cpp-httplib

    Versiones
    • < 0.20.1: Afectada

    Sin corrección publicada

  • cpp-httplib Debian:12

    Versiones
    • 0.11.4+ds-1
    • 0.11.4+ds-1+deb12u1
    • 0.11.4+ds-2
    • 0.11.4+ds-3
    • 0.13.1+ds-1
    • 0.14.0+ds-1
    • 0.14.1+ds-1
    • 0.14.1+ds-2
    • 0.14.2+ds-1
    • 0.14.3+ds-1
    • 0.14.3+ds-1.1
    • 0.14.3+ds-1.1~exp1
    • 0.15.3+ds-1
    • 0.15.3+ds-2
    • 0.15.3+ds-3
    • 0.16.0+ds-1
    • 0.16.3+ds-1
    • 0.16.3+ds-2
    • 0.18.0+ds-1
    • 0.18.7-1
    • 0.20.1+ds-3
    • 0.25.0+ds-1
    • 0.26.0+ds-2
    • 0.41.0+ds-1
    • 0.41.0+ds-2
    • 0.41.0+ds-3
    • 0.41.0+ds-3~bpo13+1
    Intervalos de versiones afectados
    • ECOSYSTEM: (−∞, +∞)

    Sin corrección publicada

  • cpp-httplib Debian:13

    Versiones
    • 0.18.7-1
    Intervalos de versiones afectados
    • ECOSYSTEM: < 0.18.7-1+deb13u1

    Actualiza a 0.18.7-1+deb13u1

  • cpp-httplib Debian:14

    Versiones
    • 0.18.7-1
    • 0.20.1+ds-3
    • 0.25.0+ds-1
    Intervalos de versiones afectados
    • ECOSYSTEM: < 0.25.0+ds-3

    Actualiza a 0.25.0+ds-3

  • cpp-httplib Ubuntu:Pro:22.04:LTS

    Versiones
    • 0.9.9+ds-1
    • 0.9.10+ds-1
    • 0.10.1+ds-1
    • 0.10.2+ds-1
    • 0.10.3+ds-1
    • 0.10.3+ds-1ubuntu0.1~esm1
    • 0.10.3+ds-1ubuntu0.1~esm2
    Intervalos de versiones afectados
    • ECOSYSTEM: (−∞, +∞)

    Sin corrección publicada

  • cpp-httplib Ubuntu:Pro:24.04:LTS

    Versiones
    • 0.13.1+ds-1ubuntu1
    • 0.14.3+ds-1
    • 0.14.3+ds-1.1
    • 0.14.3+ds-1.1build1
    • 0.14.3+ds-1.1build2
    • 0.14.3+ds-1.1ubuntu0.1~esm1
    • 0.14.3+ds-1.1ubuntu0.1~esm2
    Intervalos de versiones afectados
    • ECOSYSTEM: (−∞, +∞)

    Sin corrección publicada

  • cpp-httplib Ubuntu:25.10

    Versiones
    • 0.18.7-1
    • 0.18.7-1ubuntu0.25.10.1
    • 0.18.7-1ubuntu0.25.10.2
    Intervalos de versiones afectados
    • ECOSYSTEM: (−∞, +∞)

    Sin corrección publicada

  • cpp-httplib Ubuntu:Pro:26.04:LTS

    Versiones
    • 0.18.7-1
    • 0.26.0+ds-2ubuntu2
    • 0.26.0+ds-2ubuntu3
    • 0.26.0+ds-2ubuntu3+esm1
    Intervalos de versiones afectados
    • ECOSYSTEM: (−∞, +∞)

    Sin corrección publicada

Fuentes originales

Comprueba tu servidor →