
Overflow di interi nel parsing WebP di Apple ImageIO (macOS/iOS)
Una vulnerabilità di overflow di interi nel framework ImageIO di Apple durante l'analisi di immagini WebP, che porta a un accesso alla memoria fuori dai limiti.
Articolo completo - Analisi dettagliata della causa principale con spiegazione del disassembly.
Un overflow di interi si verifica durante il calcolo dei byte di riga quando vengono elaborate immagini WebP malformate. L'overflow comporta l'allocazione di un buffer di dimensioni insufficienti, che viene successivamente sovrascritto durante la decodifica dell'immagine.
L'elaborazione di un'immagine WebP appositamente realizzata può portare all'esecuzione di codice arbitrario nel contesto di qualsiasi applicazione che utilizza ImageIO (Safari, Anteprima, Mail, Messaggi, Quick Look, ecc.).
| Interessate | Corretta | |
|---|---|---|
| macOS | Monterey < 12.4 | 12.4 (maggio 2022) |
| iOS / iPadOS | < 15.5 | 15.5 |
| tvOS | < 15.5 | 15.5 |
| watchOS | < 8.6 | 8.6 |
Testato su macOS Monterey 12.0.1 e iOS 15.1
Compila ed esegui l'harness:
./build_harness_standalone.sh
./harness_standalone intoverflow.webp
Oppure attiva la vulnerabilità tramite browser servendo trigger.html, oppure apri direttamente il file:
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 ...