CVE-2025-46728

Source
https://cve.org/CVERecord?id=CVE-2025-46728
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-46728.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2025-46728
Aliases
  • GHSA-px83-72rx-v57c
Downstream
Related
Published
2025-05-06T00:45:25.130Z
Modified
2026-08-12T15:16:32.912814Z
Severity
  • 7.5 (High) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H CVSS Calculator
Summary
cpp-httplib has Unbounded Memory Allocation in Chunked/No-Length Requests
Details

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.

Database specific
{
    "cna_assigner": "GitHub_M",
    "cwe_ids": [
        "CWE-400"
    ],
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/46xxx/CVE-2025-46728.json"
}
References

Affected packages

Git / github.com/yhirose/cpp-httplib

Affected ranges

Type
GIT
Repo
https://github.com/yhirose/cpp-httplib
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed
Fixed
Database specific
Show details
{
    "extracted_events": [
        {
            "introduced": "0"
        },
        {
            "fixed": "0.20.1"
        }
    ],
    "source": [
        "CPE_RANGE",
        "REFERENCES"
    ],
    "cpe": "cpe:2.3:a:cpp-httplib_project:cpp-httplib:*:*:*:*:*:*:*:*"
}

Affected versions

v0.*
v0.10.0
v0.10.1
v0.10.2
v0.10.3
v0.10.4
v0.10.5
v0.10.6
v0.10.7
v0.10.8
v0.10.9
v0.11.0
v0.11.1
v0.11.2
v0.11.3
v0.11.4
v0.12.0
v0.12.1
v0.12.2
v0.12.3
v0.12.4
v0.12.5
v0.12.6
v0.13.0
v0.13.1
v0.13.2
v0.13.3
v0.14.0
v0.14.1
v0.14.2
v0.14.3
v0.15.0
v0.15.1
v0.15.2
v0.15.3
v0.16.0
v0.16.1
v0.16.2
v0.16.3
v0.17.0
v0.17.1
v0.17.2
v0.17.3
v0.18.0
v0.18.1
v0.18.2
v0.18.3
v0.18.4
v0.18.5
v0.18.6
v0.18.7
v0.19.0
v0.2.0
v0.2.1
v0.2.2
v0.2.3
v0.2.4
v0.2.5
v0.2.6
v0.20.0
v0.3.0
v0.3.1
v0.3.2
v0.3.3
v0.4.0
v0.4.1
v0.4.2
v0.5.0
v0.5.1
v0.5.10
v0.5.11
v0.5.12
v0.5.13
v0.5.2
v0.5.3
v0.5.4
v0.5.5
v0.5.6
v0.5.7
v0.5.8
v0.5.9
v0.6.0
v0.6.1
v0.6.2
v0.6.3
v0.6.4
v0.6.5
v0.6.6
v0.6.7
v0.7.0
v0.7.1
v0.7.10
v0.7.11
v0.7.12
v0.7.13
v0.7.14
v0.7.15
v0.7.16
v0.7.17
v0.7.18
v0.7.2
v0.7.3
v0.7.4
v0.7.5
v0.7.6
v0.7.7
v0.7.8
v0.7.9
v0.8.0
v0.8.1
v0.8.2
v0.8.3
v0.8.4
v0.8.5
v0.8.6
v0.8.7
v0.8.8
v0.8.9
v0.9.0
v0.9.1
v0.9.10
v0.9.2
v0.9.3
v0.9.4
v0.9.5
v0.9.6
v0.9.7
v0.9.8
v0.9.9

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-46728.json"
vanir_signatures
[
    {
        "target": {
            "function": "stream_line_reader::getline",
            "file": "httplib.h"
        },
        "deprecated": false,
        "source": "https://github.com/yhirose/cpp-httplib/commit/7b752106ac42bd5b907793950d9125a0972c8e8e",
        "id": "CVE-2025-46728-18f6418d",
        "signature_version": "v1",
        "digest": {
            "length": 568.0,
            "function_hash": "273893763024305777493719782969948749593"
        },
        "signature_type": "Function"
    },
    {
        "target": {
            "file": "test/test.cc"
        },
        "deprecated": false,
        "source": "https://github.com/yhirose/cpp-httplib/commit/7b752106ac42bd5b907793950d9125a0972c8e8e",
        "id": "CVE-2025-46728-1b351755",
        "signature_version": "v1",
        "digest": {
            "threshold": 0.9,
            "line_hashes": [
                "257985735793026435818868796645710254975",
                "47152089635226046254886122597760746000",
                "277935455136829786777737757595575415649",
                "240428477853514944703987908155197738368",
                "98734447240544736125538254896320203198",
                "12401696439684324966363430957733437059",
                "232918337349665503594913121985807921549",
                "297344248686960807045559079316116779264",
                "235855093667763522674929287323664717147",
                "52669484370524566126415748220010415188"
            ]
        },
        "signature_type": "Line"
    },
    {
        "target": {
            "function": "SetUp",
            "file": "test/test.cc"
        },
        "deprecated": false,
        "source": "https://github.com/yhirose/cpp-httplib/commit/7b752106ac42bd5b907793950d9125a0972c8e8e",
        "id": "CVE-2025-46728-d289d55f",
        "signature_version": "v1",
        "digest": {
            "length": 19168.0,
            "function_hash": "88011015293096735173591467930571185687"
        },
        "signature_type": "Function"
    },
    {
        "target": {
            "file": "httplib.h"
        },
        "deprecated": false,
        "source": "https://github.com/yhirose/cpp-httplib/commit/7b752106ac42bd5b907793950d9125a0972c8e8e",
        "id": "CVE-2025-46728-f50b3fbc",
        "signature_version": "v1",
        "digest": {
            "threshold": 0.9,
            "line_hashes": [
                "32898783120307941874368505242798629186",
                "162037324753814312112070594927690416950",
                "287480307527108457454058770006969193908",
                "301745308707818391118521842106411970281",
                "263861363138065655965234048318932182331",
                "218911545314115535196603612996816985361",
                "260379456301400884034826106084209849017"
            ]
        },
        "signature_type": "Line"
    }
]
vanir_signatures_modified
"2026-08-12T15:16:32Z"