27: IMAP custom FETCH listing classification skips literal boundaries, enabling response desynchronization
该报告还没有中文解读。
原文摘录
摘自原文(3881 字符中的一小部分)
`is_custom_fetch_listing_match()` in `lib/imap.c` classifies any custom FETCH whose sequence set contains `:` or `,` as a "listing." For that classification, `imap_state_listsearch_resp()` skips literal detection entirely. The ping-pong line parser then scans the server-declared literal body as …
原文中的代码
static bool is_custom_fetch_listing_match(const char *params)
{
if(*params++ != ' ')
return FALSE;
while(ISDIGIT(*params)) {
params++;
if(*params == 0)
return FALSE;
}
if(*params == ':')
return TRUE;
if(*params == ',')
return TRUE;
return FALSE;
}默认不展示报告全文。以上为简短摘录,完整复现过程请阅读原文。版权归研究员与 curl 所有。
时间线
- 报告提交
- 公开披露
阅读 HackerOne 原文 ↗作者 @giant_anteater · 版权归作者与 curl 所有