Out-of-bounds read in curl_formadd when CURLFORM_NAMELENGTH is explicitly 0
该报告还没有中文解读。
原文摘录
摘自原文(6652 字符中的一小部分)
I've discovered a heap out-of-bounds read in `curl_formadd` that causes libcurl to silently read past a caller-supplied buffer and transmit the leaked contents to the remote server. It's confirmed under ASan and reachable without violating any documented precondition.
原文中的代码
static CURLcode forminfo_copyfield(struct bufref *field, size_t len)
{
const char *value = Curl_bufref_ptr(field);
CURLcode result = CURLE_OK;
if(value) {
if(!len)
len = strlen(value); /* line 128 */
result = Curl_bufref_memdup0(field, value, len);
}
return …默认不展示报告全文。以上为简短摘录,完整复现过程请阅读原文。版权归研究员与 curl 所有。
时间线
- 报告提交
- 公开披露
阅读 HackerOne 原文 ↗作者 @giant_anteater · 版权归作者与 curl 所有