CVE-2025-52887 | cpp-httplib has unlimited number of http header fields, which causes memory leak

Exp

cpp-httplib is a C++11 single-file header-only cross platform HTTP/HTTPS library. In version 0.21.0, when many http headers fields are passed in, the library does not limit the number of headers, and the memory associated with the headers will not be released when the connection is disconnected. This leads to potential exhaustion of system memory and results in a server crash or unresponsiveness. Version 0.22.0 contains a patch for the issue.

Published: 2025-06-26 Last update: 2025-08-06 Assigner: [email protected] Source: [email protected]

Conclusion & alert: CVE-2025-52887 is rated High Exploit Risk (69.1/100): CVSS High severity, with medium exploitation likelihood (EPSS 0.54%). Core evidence: 1 public exploit reference(s) are indexed (Exploit-DB). Mandatory action: Public exploits are available—assess exposure, apply mitigations, and prioritize patching.

Risk is dynamic; we continuously reassess and refresh what is shown on this page as upstream context changes.

Public exploit references (Exploit-DB) for CVE-2025-52887

EDB-ID Source Kind Published Link
nvd_ref exploit_tag Exploit-DB ↗

Exploit prediction scoring system (EPSS) score for CVE-2025-52887

EPSS lead: Daily EPSS estimates relative likelihood of exploitation; percentile ranks this CVE among scored vulnerabilities (higher = more severe relative rank).

# Date Old EPSS score New EPSS score Delta (New - Old)
1 2026-04-22 0.16% 0.54% +0.38%
2 2026-03-12 0.05% 0.16% +0.11%
3 2025-07-02 0.05%

Full EPSS history (4 records total)

Common vulnerability scoring system (CVSS) metrics for CVE-2025-52887

CVSS metrics for this CVE.

Base score Version Severity Vector Exploitability Impact Score source
7.5 3.1 HIGH
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H Click to expand
Attack vector (AV:N)
Could be attacked over the internet or any normal routed network—not just someone sitting at the machine.
Attack complexity (AC:L)
Once they can reach the bug, pulling it off is straightforward—no weird race conditions or rare setup.
Privileges required (PR:N)
No account or special rights needed—anonymous or random user is enough.
User interaction (UI:N)
Nobody has to click “OK” or open a trap file; it can work without a victim helping.
Scope (S:U)
Damage stays in the same “trust bubble” as the broken component—no big spill into unrelated systems.
Confidentiality (C:N)
Doesn’t really leak secrets in a meaningful way.
Integrity (I:N)
Data isn’t meaningfully altered or forged.
Availability (A:H)
Could take the service down hard or make it unusable for people who depend on it.
3.9 3.6 [email protected]

Weakness enumeration for CVE-2025-52887

OS Trackers for CVE-2025-52887

vendor priority summary link
debian unimportant CVE-2025-52887 unimportant priority: Debian including 1 source packages (cpp-httplib), 4 status rows across 4 suites (bookworm, forky, sid, trixie): resolved 4. https://security-tracker.debian.org/tracker/CVE-2025-52887
redhat medium https://access.redhat.com/security/cve/CVE-2025-52887
suse high CVE-2025-52887 severity important: SUSE including 4 source package names (cpp-httplib, cpp-httplib-devel-0.20.1-bp156.2.9.1, libcpp-httplib0_20-0.20.1-bp156.2.9.1, libcpp-httplib0_22), 6 product×package rows across 3 product lines (SUSE Linux Enterprise Server 16.0, SUSE Package Hub 15 SP6, openSUSE Leap 15.6): Fixed 4, Known Not Affected 2. https://www.suse.com/security/cve/CVE-2025-52887/
ubuntu medium CVE-2025-52887 medium priority: Ubuntu including 1 source packages (cpp-httplib), 6 status rows across 6 suites (jammy, noble, oracular, plucky, questing, upstream): needed 3, ignored 2, released 1. https://ubuntu.com/security/CVE-2025-52887

Affected software / configurations for CVE-2025-52887

Vendor Product Version Raw CPE
yhirose cpp-httplib 0.21.0 cpe:2.3:a:yhirose:cpp-httplib:0.21.0:*:*:*:*:*:*:*

References for CVE-2025-52887

cvelogic Threat Intelligence