
Desbordamiento de entero en el análisis de WebP de Apple ImageIO (macOS/iOS)
Una vulnerabilidad de desbordamiento de enteros en el framework ImageIO de Apple al analizar imágenes WebP, que provoca un acceso a memoria fuera de los límites.
Análisis completo - Análisis detallado de la causa raíz con recorrido por el desensamblado.
Se produce un desbordamiento de enteros durante el cálculo de los bytes de fila al procesar imágenes WebP malformadas. El desbordamiento provoca una asignación de búfer de tamaño insuficiente, que posteriormente se sobrescribe durante la decodificación de la imagen.
Procesar una imagen WebP maliciosamente manipulada puede llevar a la ejecución de código arbitrario en el contexto de cualquier aplicación que use ImageIO (Safari, Preview, Mail, Messages, Quick Look, etc.).
| Afectada | Corregida | |
|---|---|---|
| macOS | Monterey < 12.4 | 12.4 (mayo de 2022) |
| iOS / iPadOS | < 15.5 | 15.5 |
| tvOS | < 15.5 | 15.5 |
| watchOS | < 8.6 | 8.6 |
Probado en macOS Monterey 12.0.1 y iOS 15.1
Compila y ejecuta el harness:
./build_harness_standalone.sh
./harness_standalone intoverflow.webp
O desencadénalo mediante el navegador sirviendo trigger.html, o simplemente abre el archivo directamente:
open intoverflow.webp
Process: harness_standalone [12345]
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x...
Thread 0 Crashed:
0 libsystem_platform.dylib _platform_memset_pattern16 + ...
1 CoreGraphics CGSColorDataMakeCompositor + ...
2 CoreGraphics ripc_RenderImage + ...
3 CoreGraphics ripc_DrawImage + ...
4 ImageIO ...