
PoC para CVE-2026-28990, uma falha no ImageIO corrigida no iOS/macOS 26.5
PoC para uma vulnerabilidade de estouro de inteiro no ImageIO corrigida no iOS/macOS 26.5 (CVE-2026-28990)
Bug descoberto por Jiri Ha & Arni Hardarson
Havia um estouro de inteiro na função EXRReadPlugin::decodeBlockAppleEXR antes do iOS/macOS 26.5 ao calcular o tamanho de um buffer.
É possível causar corrupção de memória fazendo com que a multiplicação dos valores de largura e altura da imagem fornecida sofra wrap-around para 0, e subsequentemente chamar malloc_type_malloc com um tamanho muito pequeno.
Fornecer um arquivo de imagem contendo dados de pixel excedentes resulta em um estouro de heap e uma falha:
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.