Resource Exhaustion Affecting cpp-httplib package, versions *


Severity

Recommended
low

Based on default assessment until relevant scores are available.

Threat Intelligence

EPSS
0.18% (41st percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications

Snyk Learn

Learn about Resource Exhaustion vulnerabilities in an interactive lesson.

Start learning
  • Snyk IDSNYK-DEBIAN12-CPPHTTPLIB-10062617
  • published8 May 2025
  • disclosed6 May 2025

Introduced: 6 May 2025

CVE-2025-46728  (opens in a new tab)
CWE-400  (opens in a new tab)

How to fix?

There is no fixed version for Debian:12 cpp-httplib.

NVD Description

Note: Versions mentioned in the description apply only to the upstream cpp-httplib package and not the cpp-httplib package as distributed by Debian. See How to fix? for Debian:12 relevant fixed versions and status.

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.