
PoC per CVE-2026-28990, un bug di ImageIO corretto in iOS/macOS 26.5
PoC per una vulnerabilità di integer overflow in ImageIO corretta in iOS/macOS 26.5 (CVE-2026-28990)
Bug scoperto da Jiri Ha & Arni Hardarson
C'era un integer overflow nella funzione EXRReadPlugin::decodeBlockAppleEXR prima di iOS/macOS 26.5 durante il calcolo della dimensione di un buffer.
È possibile causare una corruzione della memoria facendo sì che la moltiplicazione dei valori width e height dell'immagine fornita vada in overflow a 0, e successivamente chiamare malloc_type_malloc con una dimensione molto piccola.
Fornire un file immagine contenente dati pixel in eccesso provoca un heap overflow e un crash:
thread #5, queue = 'com.apple.root.user-interactive-qos', stop reason = EXC_GUARD (code=1, subcode=0x4141414141414151)
frame #0: 0x00000001855ba8c8 libdispatch.dylib`_dispatch_root_queue_drain + 176
libdispatch.dylib`_dispatch_root_queue_drain:
-> 0x1855ba8c8 <+176>: ldr x8, [x0, #0x10]!
0x1855ba8cc <+180>: cbz x8, 0x1855bab2c ; <+788>
0x1855ba8d0 <+184>: str x8, [x20, #0x68]
0x1855ba8d4 <+188>: mov x0, x20
Target 0: (exr_parser) stopped.
Analisi tecnica completa disponibile qui Spiegazione video disponibile qui