POJIA破甲
地图 / CURLOPT_HSTS_CTRL disables shared HSTS without share guard — use-after-free and double-free

CURLOPT_HSTS_CTRL disables shared HSTS without share guard — use-after-free and double-free

内存破坏 / 释放后使用 / #3733934

厂商
curl
严重程度
未评级
赏金
—
弱点
释放后使用
研究员
@giant_anteater
披露日期
2026-05-18
资产
https://github.com/curl/curl
CVE
CVE-2018-16840CVE-2023-27537

该报告还没有中文解读。

原文摘录

摘自原文(8327 字符中的一小部分)
`CURLOPT_HSTS_CTRL` set to a value without `CURLHSTS_ENABLE` unconditionally frees the easy's HSTS object — even when that object is shared via a `CURLSH`. The result is a use-after-free and a double-free on the shared 48-byte `struct hsts` block when the share or any other linked easy is later …
原文中的代码
case CURLOPT_HSTS_CTRL:
  if(arg & CURLHSTS_ENABLE) {
    if(!data->hsts) {
      data->hsts = Curl_hsts_init();
      ...
    }
  }
  else
    Curl_hsts_cleanup(&data->hsts);   /* <-- no share guard */
  break;

默认不展示报告全文。以上为简短摘录,完整复现过程请阅读原文。版权归研究员与 curl 所有。

时间线

  • 报告提交
  • 公开披露
阅读 HackerOne 原文 ↗作者 @giant_anteater · 版权归作者与 curl 所有

同类报告

Use-After-Free In IPV6_2292PKTOPTIONS leading To Arbitrary Kernel R/W PrimitivesPlayStation · 2020-07-06 · $10,000sys_fsc2h_ctrl kernel stack freePlayStation · 2025-04-18 · $10,000Use-after-free in setsockopt IPV6_2292PKTOPTIONS (CVE-2020-7457)PlayStation · 2022-09-20 · $10,000CVE-2021-22901: TLS session caching disastercurl · 2021-05-26Old WebKit HTML agent in Template Preview function has multiple known vulnerabilities leading to RCELob · — · $1,500Use-After-Free in SMB connection reuse (req->path dangling pointer after needle destruction)curl · 2026-04-29
CURLOPT_HSTS_CTRL disables shared HSTS without share guard — use-after-free and double-free · 破甲 POJIA