Submit #1009968: libimobiledevice fa0f79190142bc309307967c058f89c1b36eb6b8 - version 1.4.0 Memory corruptioninfo

Titlelibimobiledevice fa0f79190142bc309307967c058f89c1b36eb6b8 - version 1.4.0 Memory corruption
Descriptionunpaired key → strdup(NULL) Location: src/afc.c:640-645 for (ptr = kvps; *ptr; ptr++) { if (!strcmp(*ptr, key)) { *value = strdup(*(ptr+1)); // no check that a value follows break; } } Root cause. Device info is a flat NUL-separated key/value list turned into a char** with a NULL sentinel. An odd list (lone key) leaves the matched key's ptr+1 pointing at the NULL sentinel → strdup(NULL) → strlen(NULL) → SIGSEGV. Trigger (peer): reply to GET_DEVINFO with body ModelNumber\0 only; victim calls afc_get_device_info_key(client, "ModelNumber", &value). Impact. Reliable NULL deref / crash (DoS). With prior Bug heap corruption, the sentinel can be attacker-influenced → arbitrary read into strdup
Source⚠️ https://bohmid-com.vercel.app/#/article/blog-afc-writeup
User
 ahmed0000 (UID 51651)
Submission10/01/2026 17:21 (25 days ago)
Moderation10/25/2026 18:44 (24 days later)
StatusAccepted
VulDB entry426298 [libimobiledevice up to 1.4.0 Device Info src/afc.c afc_get_device_info_key value memory corruption]
Points20

Do you need the next level of professionalism?

Upgrade your account now!