mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
54 lines
3.2 KiB
Markdown
54 lines
3.2 KiB
Markdown
# WWW2Exec - sips ICC Profile Out-of-Bounds Write (CVE-2024-44236)
|
||
|
||
{{#include ../../banners/hacktricks-training.md}}
|
||
|
||
## 概要
|
||
|
||
Apple macOS Scriptable Image Processing System (`sips`) ICCプロファイルパーサーにおけるバッファ外書き込みの脆弱性(macOS 15.0.1, sips-307)。これは、`lutAToBType` (`mAB `) および `lutBToAType` (`mBA `) タグの `offsetToCLUT` フィールドの不適切な検証によるものです。細工されたICCファイルは、ヒープバッファの16バイト先までのゼロ書き込みを引き起こし、ヒープメタデータや関数ポインタを破損させ、任意のコード実行を可能にします(CVE-2024-44236)。
|
||
|
||
## 脆弱なコード
|
||
|
||
脆弱な関数は、攻撃者が制御するオフセットから始まる16バイトを読み取り、ゼロにしますが、割り当てられたバッファ内に収まることを確認していません:
|
||
```c
|
||
// Pseudocode from sub_1000194D0 in sips-307 (macOS 15.0.1)
|
||
for (i = offsetToCLUT; i < offsetToCLUT + 16; i++) {
|
||
if (i > numberOfInputChannels && buffer[i] != 0)
|
||
buffer[i] = 0;
|
||
}
|
||
```
|
||
のみ `offsetToCLUT <= totalDataLength` のチェックが行われます。 `offsetToCLUT == tagDataSize` を設定することで、ループは `buffer` の終わりから16バイト先までインデックスされ、隣接するヒープメタデータが破損します。
|
||
|
||
## 攻撃手順
|
||
|
||
1. **悪意のある `.icc` プロファイルを作成:**
|
||
- 署名 `acsp` を持つICCヘッダー(128バイト)を構築し、単一の `lutAToBType` または `lutBToAType` タグエントリを追加します。
|
||
- タグテーブルで、 `offsetToCLUT` をタグの `size`(`tagDataSize`)に設定します。
|
||
- タグデータブロックの直後に攻撃者が制御するデータを配置して、ヒープメタデータを上書きします。
|
||
2. **解析をトリガー:**
|
||
|
||
```bash
|
||
sips --verifyColor malicious.icc
|
||
```
|
||
|
||
3. **ヒープメタデータの破損:** OOBゼロ書き込みがアロケータメタデータまたは隣接ポインタを上書きし、攻撃者が制御フローをハイジャックし、 `sips` プロセスのコンテキストで任意のコード実行を達成できるようにします。
|
||
|
||
## 影響
|
||
|
||
成功した攻撃は、脆弱な `sips` ユーティリティを実行しているmacOSシステム上でユーザープリビレッジでのリモート任意コード実行を引き起こします。
|
||
|
||
## 検出
|
||
|
||
- 一般的なプロトコル(FTP、HTTP/S、IMAP、SMB、NFS、SMTP)でのファイル転送を監視します。
|
||
- 署名 `acsp` を持つ転送されたファイルを検査します。
|
||
- 各 `mAB ` または `mBA ` タグについて、 `Offset to CLUT` フィールドが `Tag data size` に等しいか確認します。
|
||
- この条件が満たされる場合は、疑わしいとしてフラグを立てます。
|
||
|
||
## 参考文献
|
||
|
||
- ZDIブログ: CVE-2024-44236: Apple macOS sipsユーティリティのリモートコード実行脆弱性
|
||
https://www.thezdi.com/blog/2025/5/7/cve-2024-44236-remote-code-execution-vulnerability-in-apple-macos
|
||
- Apple 2024年10月セキュリティアップデート(CVE-2024-44236のパッチ)
|
||
https://support.apple.com/en-us/121564
|
||
|
||
{{#include /banners/hacktricks-training.md}}
|