POJIA破甲
地图 / Double free caused by mqtt_doing()

Double free caused by mqtt_doing()

内存破坏 / 双重释放 / #3045390

厂商
curl
严重程度
低危
赏金
—
弱点
双重释放
研究员
@tdp3kel9g
披露日期
2025-06-30
资产
https://github.com/curl/curl
CVE
—

该报告还没有中文解读。

原文摘录

摘自原文(3393 字符中的一小部分)
`mqtt_doing()` (`lib/mqtt.c`) causes a double free under certain conditions. The conditions are (1) an `mqtt_send()` is unable to send its entire buffer at one time; and (2) the next call to `mqtt_send()` fails. The bug arises because `mqtt_doing()` `free()`s the pointer `mq->sendleftovers` without …
原文中的代码
740: static CURLcode mqtt_doing(struct Curl_easy *data, bool *done)
741: {
...
751:   if(mq->nsend) {
752:     /* send the remainder of an outgoing packet */
753:     char *ptr = mq->sendleftovers;
754:     result = mqtt_send(data, mq->sendleftovers, mq->nsend);
755:     free(ptr);
756: …

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

时间线

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

同类报告

SOCK_RAW sockets reachable from Webkit process allows triggering double free in IP6_EXTHDR_CHECKPlayStation · 2021-01-12 · $10,000Double fdrop on a socket through sys_netcontrolPlayStation · 2026-05-01 · $10,000Access Violation Reading EXPLOITABLE_0228VLC (European Commission - DIGIT) · 2019-07-24 · $1,135Double Free Vulnerability in `libcurl` Cookie Management (`cookie.c`)curl · 2025-04-29CVE-2022-28738: Double free in Regexp compilationInternet Bug Bounty · 2022-05-28 · $4,000CVE-2021-22945: UAF and double-free in MQTT sendingcurl · 2021-09-15