libcurl shared-HSTS-cache race leads to use-after-free with attacker-controlled function-pointer call
该报告还没有中文解读。
原文摘录
摘自原文(15154 字符中的一小部分)
Missing lock on the shared HSTS cache in `lib/hsts.c` (`CURL_LOCK_DATA_HSTS`) allows a race that frees an `stsentry` still referenced by another thread — deterministic same-address reclaim proves the freed object is fully attacker-writable and its destructor pointer is called with an …
原文中的代码
/* hsts.c:625 — inside Curl_hsts_loadfiles(): the ONLY place the HSTS share lock is taken */ Curl_share_lock(data, CURL_LOCK_DATA_HSTS, LOCK_ACCESS_SINGLE);
默认不展示报告全文。以上为简短摘录,完整复现过程请阅读原文。版权归研究员与 curl 所有。
时间线
- 报告提交
- 公开披露
阅读 HackerOne 原文 ↗作者 @alicangonullu · 版权归作者与 curl 所有