
Estouro de inteiro no parse de WebP do Apple ImageIO (macOS/iOS)
Uma vulnerabilidade de estouro de inteiro no framework ImageIO da Apple ao analisar imagens WebP, levando a um acesso à memória fora dos limites.
Análise Completa - Análise detalhada da causa raiz com passo a passo de desmontagem.
Um estouro de inteiro ocorre durante o cálculo dos bytes da linha ao processar imagens WebP malformadas. O estouro resulta em uma alocação de buffer de tamanho insuficiente, que é posteriormente sobrescrita durante a decodificação da imagem.
Processar uma imagem WebP criada maliciosamente pode levar à execução arbitrária de código no contexto de qualquer aplicação que use ImageIO (Safari, Preview, Mail, Messages, Quick Look, etc).
| Afetado | Corrigido | |
|---|---|---|
| macOS | Monterey < 12.4 | 12.4 (Maio de 2022) |
| iOS / iPadOS | < 15.5 | 15.5 |
| tvOS | < 15.5 | 15.5 |
| watchOS | < 8.6 | 8.6 |
Testado no macOS Monterey 12.0.1 e iOS 15.1
Compile e execute o harness:
./build_harness_standalone.sh
./harness_standalone intoverflow.webp
Ou acione pelo navegador servindo trigger.html, ou apenas abra o arquivo diretamente:
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 ...