curl_share TOCTOU > RCE via Curl_llist _dtor Function Pointer Hijack
业务逻辑 / TOCTOU 竞态条件 / #3955945
该报告还没有中文解读。
原文摘录
摘自原文(10562 字符中的一小部分)
Summary: `CURLSH` (the curl share handle) allows multiple easy handles to share state — cookies, DNS cache, SSL sessions, connection cache — across threads. The share is protected by optional user-supplied mutex callbacks (`CURLSHOPT_LOCKFUNC` / `CURLSHOPT_UNLOCKFUNC`).
原文中的代码
/* lib/curl_share.c lines 163-299 (simplified) */
CURLSHcode curl_share_setopt(CURLSH *sh, CURLSHoption option, ...)
{
struct Curl_share *share = (struct Curl_share *)sh;
va_list param;
int type;
/* ... acquire lock ... */
Curl_share_lock(data, CURL_LOCK_DATA_SHARE, …默认不展示报告全文。以上为简短摘录,完整复现过程请阅读原文。版权归研究员与 curl 所有。
时间线
- 报告提交
- 公开披露
阅读 HackerOne 原文 ↗作者 @k4rasu_s4ma · 版权归作者与 curl 所有