Soumettre #1009972: libimobiledevice fa0f79190142bc309307967c058f89c1b36eb6b8 - version 1.4.0 heap leakinformation

Titrelibimobiledevice fa0f79190142bc309307967c058f89c1b36eb6b8 - version 1.4.0 heap leak
Description 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.
La source⚠️ https://bohmid-com.vercel.app/#/article/blog-afc-writeup
Utilisateur
 ahmed0000 (UID 51651)
Soumission01/10/2026 17:29 (il y a 25 jours)
Modérer25/10/2026 18:44 (24 days later)
StatutAccepté
Entrée VulDB426301 [libimobiledevice jusqu’à 1.4.0 Web Inspector src/webinspector.c webinspector_receive_with_timeout buffer overflow]
Points20

Want to stay up to date on a daily basis?

Enable the mail alert feature now!