heap-use-after-free in state.referer when CURLOPT_REFERER replaced or cleared after perform
该报告还没有中文解读。
原文摘录
摘自原文(5857 字符中的一小部分)
Calling `curl_easy_setopt(curl, CURLOPT_REFERER, ...)` to replace or clear a previously-set referer after `curl_easy_perform()` frees the old string via `Curl_setstropt` (lib/setopt.c:87) but leaves `data->state.referer.ptr` pointing at the freed heap region. `curl_easy_getinfo(CURLINFO_REFERER)` …
原文中的代码
curl 8.14.0-DEV (x86_64-pc-linux-gnu) libcurl/8.14.0-DEV OpenSSL/3.5.0 zlib/1.3.1 Built with ASAN+UBSan: -fsanitize=address,undefined -O0 -g
默认不展示报告全文。以上为简短摘录,完整复现过程请阅读原文。版权归研究员与 curl 所有。
时间线
- 报告提交
- 公开披露
阅读 HackerOne 原文 ↗作者 @fg0x0 · 版权归作者与 curl 所有