Heap-buffer-overflow in `Curl_ssl_push_certinfo_len()` — sole bounds check is `DEBUGASSERT`
该报告还没有中文解读。
原文摘录
摘自原文(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 所有