一、漏洞信息
漏洞编号:CVE-2025-46728
漏洞归属组件:cpp-httplib
漏洞归属的版本:0.11.1,0.12.4,0.14.0,0.15.3,0.18.3,0.20.1,0.5.12
CVSS V3.0分值:
BaseScore:N/A None
Vector:CVSS:3.0/
漏洞简述:
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.
漏洞公开时间:2025-05-06 09:15:50
漏洞创建时间:2025-05-06 09:36:13
漏洞详情参考链接:
https://nvd.nist.gov/vuln/detail/CVE-2025-46728
漏洞分析指导链接:
https://gitee.com/openeuler/cve-manager/blob/master/cve-vulner-manager/doc/md/manual.md
漏洞数据来源:
openBrain开源漏洞感知系统
漏洞补丁信息:
影响的包 | 修复版本 | 修复补丁 | 问题引入补丁 | 来源 |
---|---|---|---|---|
https://github.com/yhirose/cpp-httplib/commit/7b752106ac42bd5b907793950d9125a0972c8e8e | security-advisories.github.com | |||
https://github.com/yhirose/cpp-httplib/commit/7b752106ac42bd5b907793950d9125a0972c8e8e | suse_bugzilla |
二、漏洞分析结构反馈
影响性分析说明:
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.
openEuler评分:
7.5
Vector:CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
受影响版本排查(受影响/不受影响):
1.master(0.20.1):受影响
2.openEuler-22.03-LTS-SP3(0.12.4):受影响
3.openEuler-22.03-LTS-SP4(0.12.4):受影响
4.openEuler-24.03-LTS(0.14.0):受影响
5.openEuler-24.03-LTS-Next(0.14.0):受影响
6.openEuler-24.03-LTS-SP1(0.14.0):受影响
7.openEuler-24.03-LTS-SP2(0.14.0):受影响
8.openEuler-20.03-LTS-SP4:不受影响
修复是否涉及abi变化(是/否):
1.master(0.20.1):否
2.openEuler-20.03-LTS-SP4:否
3.openEuler-22.03-LTS-SP3(0.12.4):否
4.openEuler-22.03-LTS-SP4(0.12.4):否
5.openEuler-24.03-LTS(0.14.0):否
6.openEuler-24.03-LTS-Next(0.14.0):否
7.openEuler-24.03-LTS-SP1(0.14.0):否
8.openEuler-24.03-LTS-SP2(0.14.0):否
原因说明:
1.master(0.20.1):正常修复
2.openEuler-22.03-LTS-SP3(0.12.4):正常修复
3.openEuler-22.03-LTS-SP4(0.12.4):正常修复
4.openEuler-24.03-LTS(0.14.0):正常修复
5.openEuler-24.03-LTS-Next(0.14.0):正常修复
6.openEuler-24.03-LTS-SP1(0.14.0):正常修复
7.openEuler-24.03-LTS-SP2(0.14.0):正常修复
8.openEuler-20.03-LTS-SP4:不受影响-组件不存在
三、漏洞修复
安全公告链接:https://www.openeuler.org/zh/security/safety-bulletin/detail/?id=openEuler-SA-2025-1613
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
参考网址 | 关联pr | 状态 | 补丁链接 |
---|---|---|---|
https://nvd.nist.gov/vuln/detail/CVE-2025-46728 | None | None | https://github.com/yhirose/cpp-httplib/commit/7b752106ac42bd5b907793950d9125a0972c8e8e |
https://ubuntu.com/security/CVE-2025-46728 | None | None | https://discourse.ubuntu.com/c/project |
https://www.opencve.io/cve/CVE-2025-46728 | |||
https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2025-46728 | |||
https://security-tracker.debian.org/tracker/CVE-2025-46728 | |||
http://www.cnnvd.org.cn/web/vulnerability/queryLds.tag?qcvCnnvdid=CVE-2025-46728 |
说明:补丁链接仅供初步排查参考,实际可用性请人工再次确认,补丁下载验证可使用CVE补丁工具。
若补丁不准确,烦请在此issue下评论 '/report-patch 参考网址 补丁链接1,补丁链接2' 反馈正确信息,便于我们不断优化工具,不胜感激。
如 /report-patch https://security-tracker.debian.org/tracker/CVE-2021-3997 https://github.com/systemd/systemd/commit/5b1cf7a9be37e20133c0208005274ce4a5b5c6a1
影响性分析说明:
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.
openEuler评分:
7.5
Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
受影响版本排查(受影响/不受影响):
1.master(0.18.3):受影响
2.openEuler-20.03-LTS-SP4:受影响
3.openEuler-22.03-LTS-SP3(0.12.4):受影响
4.openEuler-22.03-LTS-SP4(0.12.4):受影响
5.openEuler-24.03-LTS(0.14.0):受影响
6.openEuler-24.03-LTS-Next(0.14.0):受影响
7.openEuler-24.03-LTS-SP1(0.14.0):受影响
8.openEuler-24.03-LTS-SP2(0.14.0):受影响
修复是否涉及abi变化(是/否):
1.master(0.18.3):否
2.openEuler-20.03-LTS-SP4:否
3.openEuler-22.03-LTS-SP3(0.12.4):否
4.openEuler-22.03-LTS-SP4(0.12.4):否
5.openEuler-24.03-LTS(0.14.0):否
6.openEuler-24.03-LTS-Next(0.14.0):否
7.openEuler-24.03-LTS-SP1(0.14.0):否
8.openEuler-24.03-LTS-SP2(0.14.0):否
原因说明:
1.master(0.18.3):正常修复
2.openEuler-20.03-LTS-SP4:正常修复
3.openEuler-22.03-LTS-SP3(0.12.4):正常修复
4.openEuler-22.03-LTS-SP4(0.12.4):正常修复
5.openEuler-24.03-LTS(0.14.0):正常修复
6.openEuler-24.03-LTS-Next(0.14.0):正常修复
7.openEuler-24.03-LTS-SP1(0.14.0):正常修复
8.openEuler-24.03-LTS-SP2(0.14.0):正常修复
影响性分析说明:
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.
openEuler评分:
7.5
Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
受影响版本排查(受影响/不受影响):
1.master(0.18.3):受影响
2.openEuler-20.03-LTS-SP4:不受影响
3.openEuler-22.03-LTS-SP3(0.12.4):受影响
4.openEuler-22.03-LTS-SP4(0.12.4):受影响
5.openEuler-24.03-LTS(0.14.0):受影响
6.openEuler-24.03-LTS-Next(0.14.0):受影响
7.openEuler-24.03-LTS-SP1(0.14.0):受影响
8.openEuler-24.03-LTS-SP2(0.14.0):受影响
修复是否涉及abi变化(是/否):
1.master(0.18.3):否
2.openEuler-20.03-LTS-SP4:否
3.openEuler-22.03-LTS-SP3(0.12.4):否
4.openEuler-22.03-LTS-SP4(0.12.4):否
5.openEuler-24.03-LTS(0.14.0):否
6.openEuler-24.03-LTS-Next(0.14.0):否
7.openEuler-24.03-LTS-SP1(0.14.0):否
8.openEuler-24.03-LTS-SP2(0.14.0):否
原因说明:
1.master(0.18.3):正常修复
2.openEuler-20.03-LTS-SP4:不受影响-组件不存在
3.openEuler-22.03-LTS-SP3(0.12.4):正常修复
4.openEuler-22.03-LTS-SP4(0.12.4):正常修复
5.openEuler-24.03-LTS(0.14.0):正常修复
6.openEuler-24.03-LTS-Next(0.14.0):正常修复
7.openEuler-24.03-LTS-SP1(0.14.0):正常修复
8.openEuler-24.03-LTS-SP2(0.14.0):正常修复
登录 后才可以发表评论