
Apple ImageIO の WebP 解析における整数オーバーフロー (macOS/iOS)
Apple の ImageIO フレームワークが WebP 画像を解析する際に発生する整数オーバーフローの脆弱性であり、境界外メモリアクセスを引き起こします。
詳細な Writeup - 逆アセンブリのウォークスルー付きの詳細な根本原因分析。
不正な WebP 画像を処理する際、行バイト数の計算中に整数オーバーフローが発生します。このオーバーフローにより、必要よりも小さいバッファが割り当てられ、その後の画像デコード中に上書きされてしまいます。
悪意を持って作成された WebP 画像を処理すると、ImageIO を使用する任意のアプリケーション(Safari、プレビュー、メール、メッセージ、クイックルックなど)のコンテキストで任意のコード実行につながる可能性があります。
| 影響を受けるバージョン | 修正済みバージョン | |
|---|---|---|
| macOS | Monterey < 12.4 | 12.4 (2022年5月) |
| iOS / iPadOS | < 15.5 | 15.5 |
| tvOS | < 15.5 | 15.5 |
| watchOS | < 8.6 | 8.6 |
macOS Monterey 12.0.1 および iOS 15.1 でテスト済み
ハーネスをビルドして実行します:
./build_harness_standalone.sh
./harness_standalone intoverflow.webp
または、trigger.html を配信してブラウザ経由でトリガーするか、ファイルを直接開きます:
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 ...