CRLF injection in the HTTP request-line via `CURLOPT_REQUEST_TARGET` (`--request-target`)
该报告还没有中文解读。
原文摘录
摘自原文(5888 字符中的一小部分)
The `CURLOPT_REQUEST_TARGET` option string reaches the wire with no CR/LF neutralization, even though it is formatted directly into the HTTP request-line, which is terminated by CRLF. `Curl_setstropt()` (`lib/setopt.c`) stores the option string after checking only the 8 MB length cap …
原文中的代码
// lib/setopt.c:88-96 (Curl_setstropt)
if(strlen(s) > CURL_MAX_INPUT_LENGTH)
/* …too long… */;
else
dest = curlx_strdup(s); // no CR/LF (or control-char) check; CRLF preserved verbatim默认不展示报告全文。以上为简短摘录,完整复现过程请阅读原文。版权归研究员与 curl 所有。
时间线
- 报告提交
- 公开披露
阅读 HackerOne 原文 ↗作者 @noraqiu · 版权归作者与 curl 所有