Use-after-free read of the freed referer buffer in `curl_easy_setopt(CURLOPT_REFERER)` — stale heap bytes transmitted in an outbound `Referer:` heade
该报告还没有中文解读。
原文摘录
摘自原文(20757 字符中的一小部分)
- **Component:** libcurl — `lib/setopt.c`, `CURLOPT_REFERER` handler (`curl_easy_setopt` API) - **Related code paths:** `lib/bufref.c` (`Curl_bufref_free`), `CURLINFO_REFERER` getter (`lib/getinfo.c:145`), referer emission (`lib/http.c:2941-2945`), pretransfer sync (`lib/transfer.c:511-512`) - …
原文中的代码
/* ff300ac4aa (vulnerable): free BEFORE read */
case CURLOPT_REFERER:
Curl_bufref_free(&data->state.referer); /* frees */
result = Curl_setstropt(&s->str[STRING_SET_REFERER], ptr); /* strlen(ptr) → UAF */
break;默认不展示报告全文。以上为简短摘录,完整复现过程请阅读原文。版权归研究员与 curl 所有。
时间线
- 报告提交
- 公开披露
阅读 HackerOne 原文 ↗作者 @nextarjunaxfer · 版权归作者与 curl 所有