libcurl MQTT PUBLISH length overflow (heap overflow)
该报告还没有中文解读。
原文摘录
摘自原文(5540 字符中的一小部分)
Summary: Heap-based buffer overflow in libcurl’s MQTT PUBLISH assembly (`lib/mqtt.c::mqtt_publish`) due to unchecked `size_t` arithmetic when computing the MQTT “Remaining Length”. If `payloadlen + 2 + topiclen` wraps `size_t`, libcurl allocates a too-small buffer and then memcpy’s `payloadlen` …
原文中的代码
ERROR: AddressSanitizer: heap-buffer-overflow
in mqtt_publish (lib/mqtt.c:629) during memcpy(&pkt[i], payload, payloadlen)
allocation at lib/mqtt.c:617 used wrapped length (remaininglength + 1 + encodelen)
called from mqtt_doing (lib/mqtt.c:949)默认不展示报告全文。以上为简短摘录,完整复现过程请阅读原文。版权归研究员与 curl 所有。
时间线
- 报告提交
- 公开披露
阅读 HackerOne 原文 ↗作者 @max_from_secmate · 版权归作者与 curl 所有