
Ganzzahlüberlauf in Apple ImageIO WebP Parsing (macOS/iOS)
Eine Integer-Überlauf-Schwachstelle im Apple ImageIO Framework beim Parsen von WebP-Bildern, die zu einem Speicherzugriff außerhalb der Grenzen führt.
Vollständiger Bericht - Detaillierte Ursachenanalyse mit Disassembly-Durchgang.
Ein Integer-Überlauf tritt bei der Berechnung der Zeilenbytes bei der Verarbeitung fehlerhafter WebP-Bilder auf. Der Überlauf führt zu einer zu kleinen Pufferzuweisung, die anschließend während der Bilddecodierung überschrieben wird.
Die Verarbeitung eines bösartig erstellten WebP-Bildes kann zur Ausführung beliebigen Codes im Kontext jeder Anwendung führen, die ImageIO verwendet (Safari, Preview, Mail, Messages, Quick Look usw.).
| Betroffen | Behoben | |
|---|---|---|
| macOS | Monterey < 12.4 | 12.4 (Mai 2022) |
| iOS / iPadOS | < 15.5 | 15.5 |
| tvOS | < 15.5 | 15.5 |
| watchOS | < 8.6 | 8.6 |
Getestet auf macOS Monterey 12.0.1 und iOS 15.1
Erstellen und ausführen des Harness:
./build_harness_standalone.sh
./harness_standalone intoverflow.webp
Oder triggern Sie über den Browser, indem Sie trigger.html bereitstellen, oder öffnen Sie die Datei direkt:
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 ...