
CVE-2026-28990 の PoC、iOS/macOS 26.5 で修正された ImageIO のバグ
iOS/macOS 26.5 で修正された ImageIO の整数オーバーフローの脆弱性の PoC (CVE-2026-28990)
バグ発見者: Jiri Ha & Arni Hardarson
iOS/macOS 26.5 より前のバージョンでは、バッファサイズを計算する際に EXRReadPlugin::decodeBlockAppleEXR 関数に整数オーバーフローがありました。
提供された画像の width と height の値を掛け算して 0 にラップアラウンドさせ、その後 malloc_type_malloc を非常に小さなサイズで呼び出すことで、メモリ破壊を引き起こすことが可能です。
過剰なピクセルデータを含む画像ファイルを提供すると、ヒープオーバーフローとクラッシュが発生します:
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.