POJIA破甲
地图 / Heap-buffer-overflow in `Curl_ssl_push_certinfo_len()` — sole bounds check is `DEBUGASSERT`

Heap-buffer-overflow in `Curl_ssl_push_certinfo_len()` — sole bounds check is `DEBUGASSERT`

内存破坏 / 越界读 / #3684614

厂商
curl
严重程度
中危
赏金
—
弱点
越界读
研究员
@h3zh3z
披露日期
2026-04-29
资产
https://github.com/curl/curl
CVE
—

该报告还没有中文解读。

原文摘录

摘自原文(6111 字符中的一小部分)
`Curl_ssl_push_certinfo_len()` in `lib/vtls/vtls.c` uses `DEBUGASSERT(certnum < ci->num_of_certs)` as its **only** bounds check before writing a heap pointer into `ci->certinfo[certnum]`. `DEBUGASSERT` is a no-op in every release/production build (`lib/curl_setup.h:1084`). Any mismatch between the …
原文中的代码
curl_easy_perform(handle)
  Curl_ossl_check_peer_cert()                      openssl.c:4736
    ossl_certchain(data, ssl)                       openssl.c:4739
      numcerts = sk_X509_num(peer_cert_chain)   <- server controls N
      Curl_ssl_init_certinfo(data, numcerts)     <- alloc N-slot table …

默认不展示报告全文。以上为简短摘录,完整复现过程请阅读原文。版权归研究员与 curl 所有。

时间线

  • 报告提交
  • 公开披露
阅读 HackerOne 原文 ↗作者 @h3zh3z · 版权归作者与 curl 所有

同类报告

OOB reads in network message handlers leads to RCEValve · 2021-05-04 · $7,500RCE on CS:GO client using unsanitized entity ID in EntityMsg messageValve · 2021-05-27 · $9,000CS:GO Server -> Client RCE through OOB access in CSVCMsg_SplitScreen + Info leak in HTTP downloadValve · 2021-05-17 · $7,500Out-of-bounds read in MariaDB .frm parsing enables RCE via vtable hijackingMariaDB · 2026-09-08Firecracker Out-of-bounds Read/Write Local Privilege Escalation VulnerabilityAWS VDP · 2026-06-11Conflux-queued zero-length RELAY_END triggers heap out-of-bounds readTor · 2026-09-10