CVE-2026-53587
高已发布
libgit2 - transports/smart_pkt.c:set_data 中未认证的网络可达堆越界读取
- 已发布
- 2026年8月20日
- 已更新
- 2026年8月20日
- 分配 CNA
- GitHub_M
- 观察到的证据
- 2026年8月22日
初级CVSS
7.5/ 10高
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H0.5%
低 · 未来 30 天
- 百分位
- 39.7%
- 型号日期
- 2026年9月21日
EPSS 是统计估计,而不是确定性或影响衡量标准。将其与 CVSS、KEV 状态、暴露程度和您的环境相结合。
总结
libgit2 是 Git 核心方法的可移植 C 语言实现,以可链接库的形式提供,并带有完善的 API,允许你将 Git 功能构建到自己的应用程序中。在 1.8.6 和 1.9.5 之前的版本中,libgit2 在 src/libgit2/transports/smart_pkt.c 的 set_data 中执行固定大小的 strncmp,但未首先验证 smart-protocol pkt-line 能力缓冲区是否包含 14 个字节。恶意的 Git 服务器可以使 pkt-line 之后的字节以 `object-format=` 结尾,导致 format_str 越过 pkt-line 向前推进,并使随后的 memchr 长度计算发生下溢。由此产生的堆越界遍历可能会在通过 HTTP、HTTPS、SSH 或 Git 协议接收第一个 refs-advertisement 数据包时导致客户端崩溃。此问题已在 1.8.6 和 1.9.5 版本中修复。
来源
1用于 CVE-2026-53587 的 Python 概念验证(PoC),提供一条聚焦的漏洞利用路径来复现该漏洞,并支持验证与防御性测试。
负责任的使用
仅在您拥有或有权测试的系统上使用漏洞信息。 Kitploit 链接到公共研究元数据,并且不存储漏洞代码或恶意负载。