Curl_auth_create_plain_message integer overflow leads to heap buffer overflow
内存破坏 / Incorrect Calculation of Buffer Size / #872089
该报告还没有中文解读。
原文摘录
摘自原文(2255 字符中的一小部分)
There is an incorrect integer overflow check in `Curl_auth_create_plain_message` in `lib/vauth/cleartext.c` , leading to a potential heap buffer overflow of controlled length and data. The exploitation seems quite easy, yet the vulnerability can only be triggered locally and does not seem to lead …
原文中的代码
zlen = (authzid == NULL ? 0 : strlen(authzid));
clen = strlen(authcid);
plen = strlen(passwd);
/* Compute binary message length. Check for overflows. */
if(((zlen + clen) > SIZE_T_MAX/4) || (plen > (SIZE_T_MAX/2 - 2))) (1)
return CURLE_OUT_OF_MEMORY;
plainlen = zlen + clen + plen + …默认不展示报告全文。以上为简短摘录,完整复现过程请阅读原文。版权归研究员与 curl 所有。
时间线
- 报告提交
- 公开披露
阅读 HackerOne 原文 ↗作者 @major_tom · 版权归作者与 curl 所有