提交 #1009972: libimobiledevice fa0f79190142bc309307967c058f89c1b36eb6b8 - version 1.4.0 heap leak信息

标题libimobiledevice fa0f79190142bc309307967c058f89c1b36eb6b8 - version 1.4.0 heap leak
描述 unchecked realloc + memcpy Location: src/webinspector.c:221-230 if (!packet) { packet = (char*)malloc(length * sizeof(char)); } else { newpacket = (char*)realloc(packet, (packet_length + length) * sizeof(char)); packet = newpacket; // NULL not checked } memcpy(packet + packet_length, buffer, length); // NULL -> SIGSEGV Root cause. Partial messages reassembled via realloc; the result is assigned to packet without checking NULL. On allocation failure the old pointer is lost (leak) and memcpy dereferences NULL (crash). Public entry: webinspector_receive_with_timeout (include/libimobiledevice/webinspector.h:131). normal path: one WIRPartialMessageKey chunk + one WIRFinalMessageKey chunk of a valid binary plist → client reassembles and prints the plist (exercises the realloc path once). many partial chunks, no final → packet grows without bound (memory DoS; crash requires forcing realloc to fail, e.g. under ASAN size caps). Impact. Heap leak under OOM; reliable NULL-memcpy crash when realloc fails; unbounded memory growth with an endless partial stream.
来源⚠️ https://bohmid-com.vercel.app/#/article/blog-afc-writeup
用户
 ahmed0000 (UID 51651)
提交2026-10-01 17時29分 (25 日前)
管理2026-10-25 18時44分 (24 days later)
状态已接受
VulDB条目426301 [libimobiledevice 直到 1.4.0 Web Inspector src/webinspector.c webinspector_receive_with_timeout 内存损坏]
积分20

Do you want to use VulDB in your project?

Use the official API to access entries easily!