SMB READ_ANDX DataOffset not validated
该报告还没有中文解读。
原文摘录
摘自原文(5629 字符中的一小部分)
Summary: in `smb_request_state()` case `SMB_DOWNLOAD` curl reads two server-controlled fields from a `READ_ANDX` response and uses them to decide where in the receive buffer file data starts.
原文中的代码
/* lib/smb.c */
len = Curl_read16_le((const unsigned char *)msg +
sizeof(struct smb_header) + 11);
off = Curl_read16_le((const unsigned char *)msg +
sizeof(struct smb_header) + 13);
if(len > 0) {
if(off + sizeof(unsigned int) + len > smbc->got) { …默认不展示报告全文。以上为简短摘录,完整复现过程请阅读原文。版权归研究员与 curl 所有。
时间线
- 报告提交
- 公开披露
阅读 HackerOne 原文 ↗作者 @x2048 · 版权归作者与 curl 所有