CVE catalog

CVE-2025-46728

cpp-httplib: CVE-2025-46728

[CVE catalog]

Severity
High · CVSS 7.5CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Published
Source
[NVD] · [CVE record]
EPSS
0.66% · Oct 25, 2026

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.

Vulnerable and fixed packages

Distribution-reported package versions and fixes. These do not depend on matching against the OpenFactory package catalog.

DistributionPackageReleaseVersionStatus
Debiancpp-httplibsid0.41.0+ds-3fixed
Debiancpp-httplibforky0.41.0+ds-3fixed
Debiancpp-httplibtrixie0.18.7-1+deb13u1fixed
Debiancpp-httplibtrixie-security0.18.7-1+deb13u1fixed
Debiancpp-httplibbookworm0.11.4+ds-1+deb12u1vulnerable
Ubuntucpp-httplibpro0.18.7-1vulnerable
Ubuntucpp-httplibpro0.26.0+ds-2ubuntu2vulnerable
Ubuntucpp-httplibpro0.26.0+ds-2ubuntu3vulnerable
Ubuntucpp-httplibpro0.26.0+ds-2ubuntu3+esm1vulnerable
Ubuntucpp-httplib25.100.18.7-1vulnerable
Ubuntucpp-httplib25.100.18.7-1ubuntu0.25.10.1vulnerable
Ubuntucpp-httplib25.100.18.7-1ubuntu0.25.10.2vulnerable
Opensusecpp-httplibtumbleweed0.20.1-1.1fixed

Fixed-version evidence

DistributionPackageTypeReleaseFixed versionUrgencyOriginBugs
Debiancpp-httplibsourcesid0.25.0+ds-3not yet assignedNot reported[1104926]
Debiancpp-httplibsourceforky0.25.0+ds-3not yet assignedNot reported[1104926]
Debiancpp-httplibsourcetrixie0.18.7-1+deb13u1not yet assignedNot reported[1104926]
Debiancpp-httplibsourcebookworm(unfixed)not yet assignedNot reported[1104926]
Opensusecpp-httplibrpmtumbleweed0.20.1-1.1Not reportedOPENSUSE-SU-2025:15084-1Not reported

[Debian bug #1104926]

Notes

[bookworm] cpp-httplib: Minor issue, DoS

OpenFactory catalog packages

[Debian 12 (Bookworm)]

  • Source package: [cpp-httplib]

    Details (2)
    • 0.11.4+ds-1+deb12u1 · amd64 · bookworm

      Affected

      dsa · cpp-httplib · debian · bookworm; dsa · cpp-httplib · debian · 12

    • 0.11.4+ds-1+deb12u1 · arm64 · bookworm

      Affected

      dsa · cpp-httplib · debian · bookworm; dsa · cpp-httplib · debian · 12

  • Source package: [cpp-httplib]

    Details (2)
    • 0.11.4+ds-1+deb12u1 · amd64 · bookworm

      Affected

      dsa · cpp-httplib · debian · bookworm; dsa · cpp-httplib · debian · 12

    • 0.11.4+ds-1+deb12u1 · arm64 · bookworm

      Affected

      dsa · cpp-httplib · debian · bookworm; dsa · cpp-httplib · debian · 12

[openSUSE Tumbleweed]

  • Source package: [cpp-httplib]

    Details (1)
    • 0.49.0-1.2 · x86_64 · tumbleweed

      Unknown · Fixed: 0.20.1-1.1

      Version impact unknown

      dsa · cpp-httplib · opensuse · tumbleweed

  • Source package: [cpp-httplib]

    Details (1)
    • 0.49.0-1.2 · x86_64 · tumbleweed

      Unknown · Fixed: 0.20.1-1.1

      Version impact unknown

      dsa · cpp-httplib · opensuse · tumbleweed

[Debian 13 (Trixie)]

  • Source package: [cpp-httplib]

    Details (4)
    • 0.18.7-1+deb13u1 · amd64 · trixie

      Fixed · Fixed: 0.18.7-1+deb13u1

      dsa · cpp-httplib · debian · 13

    • 0.18.7-1+deb13u1 · arm64 · trixie

      Fixed · Fixed: 0.18.7-1+deb13u1

      dsa · cpp-httplib · debian · 13

    • 0.18.7-1+deb13u1 · amd64 · trixie-security

      Fixed · Fixed: 0.18.7-1+deb13u1

      dsa · cpp-httplib · debian · 13

    • 0.18.7-1+deb13u1 · arm64 · trixie-security

      Fixed · Fixed: 0.18.7-1+deb13u1

      dsa · cpp-httplib · debian · 13

  • Source package: [cpp-httplib]

    Details (2)
    • 0.41.0+ds-3~bpo13+1 · amd64 · trixie-backports

      Fixed · Fixed: 0.18.7-1+deb13u1

      dsa · cpp-httplib · debian · 13

    • 0.41.0+ds-3~bpo13+1 · arm64 · trixie-backports

      Fixed · Fixed: 0.18.7-1+deb13u1

      dsa · cpp-httplib · debian · 13

  • Source package: [cpp-httplib]

    Details (6)
    • 0.18.7-1+deb13u1 · amd64 · trixie

      Fixed · Fixed: 0.18.7-1+deb13u1

      dsa · cpp-httplib · debian · 13

    • 0.18.7-1+deb13u1 · arm64 · trixie

      Fixed · Fixed: 0.18.7-1+deb13u1

      dsa · cpp-httplib · debian · 13

    • 0.41.0+ds-3~bpo13+1 · amd64 · trixie-backports

      Fixed · Fixed: 0.18.7-1+deb13u1

      dsa · cpp-httplib · debian · 13

    • 0.41.0+ds-3~bpo13+1 · arm64 · trixie-backports

      Fixed · Fixed: 0.18.7-1+deb13u1

      dsa · cpp-httplib · debian · 13

    • 0.18.7-1+deb13u1 · amd64 · trixie-security

      Fixed · Fixed: 0.18.7-1+deb13u1

      dsa · cpp-httplib · debian · 13

    • 0.18.7-1+deb13u1 · arm64 · trixie-security

      Fixed · Fixed: 0.18.7-1+deb13u1

      dsa · cpp-httplib · debian · 13

Observed:

References