Researchers Uncover Remote Code Execution Flaw in macOS – CVE-2024-44236
2025/05/09 gbhackers — Apple の macOS Scriptable Image Processing System (sips) に存在するメモリ破損の脆弱性 CVE-2024-44236 に関する詳細を、Trend Micro のセキュリティ研究者 Nikolai Skliarenko と Yazhi Wang が公開した。Trend Micro の Zero Day Initiative を通じて Hossein Lotfi が発見した、この脆弱性は、悪意を持って作成された ICC プロファイル・ファイルを介して、任意のコード実行を可能にするものだ。
2024年10月に修正された、この脆弱性が浮き乗りにするのは、Apple のエコシステム全体で広く使用されるカラー・マネジメント・ユーティリティにおけるシステム・リスクの存在である。

この脆弱性は、International Color Consortium (ICC) プロファイル・ファイル内の、lutAToBType タグと lutBToAType タグの不適切な検証に起因する。
デバイス間でのカラーの一貫性を確保するために使用される、これらの標準化されたデータ構造に含まれるものには、ヘッダー/タグテーブル/タグ付き要素データなどがある。
すべての macOS システムにプリ・インストールされている、sips コマンドライン・ツールを悪用する攻撃者は、不正な ICC プロファイルを送信することで、ヒープメモリへ向けた境界外 (OBB:out-of-bounds) 書き込みをトリガーできる。
Trend Micro の分析によると、sub_1000194D0() 関数が、lutA/B タグ内の Offset to CLUT フィールドを処理する方法に、この脆弱性は存在する。このオフセットが、タグ付き要素データの合計長に等しい場合、関数は割り当てられたバッファ境界を超えたメモリに、最大で 16 Byte を書き込む。
このメモリ破損により、隣接するメモリ構造が上書きされ、攻撃者が指定したコードが実行され、制御フローの乗っ取りにいたる可能性が生じる。
研究者たちは、「CLUT オフセット値の境界チェックが欠如しているため、容易なパスでメモリ操作が生じる。したがって、不正な ICC プロファイルが1つ存在するだけで、画像プレビューや自動処理サービスなどの、一般的なワークフローを通じたシステム侵害の可能性が生じる」と述べている。
CLUT (Color Lookup Table Offsets) オフセットの悪用
この ICC プロファイルは、入力カラー・チャネルを出力値にマッピングするために、CLUT (Color Lookup Table Offsets) を使用する。この脆弱性は、CLUT 検証中の以下のシーケンスで発生する。
- タグ解析:sips ツールは、lutA/B タグヘッダーから CLUT_offset 値を抽出する。
- 境界チェックの失敗:関数は CLUT_offset をビッグ・エンディアン形式から変換するが、オフセットがバッファ・サイズを超えると検証に失敗する。
- OOBアクセス:_CLUT_offset がバッファ長 (Length) と等しい場合に、ポインタ CLUT_data_ptr は割り当てられた領域外のメモリを参照する。
- 強制 NULL 化:sub_1000194D0() のループは 16回繰り返され、input_channel が宣言された入力チャンネル数を超えると、CLUT_data_ptr[input_channel] のバイトを NULL 化する。
c// Vulnerable code snippet from sips-307
CLUT_offset = bswap32(v11->CLUT_offset);
if (_CLUT_offset > Length) goto LABEL_93;
CLUT_data_ptr = &MutableBytePtr[_CLUT_offset]; // Points beyond buffer if _CLUT_offset == Length
...
if (input_channel >= number_of_input_channels) {
if (CLUT_data_ptr[input_channel]) {
CLUT_data_ptr[input_channel] = 0; // OOB write
}
}
このコードにより、攻撃者は ICC プロファイル・バッファ外のメモリ書換えを達成し、関数ポインタやオブジェクト・メタデータを改変する可能性を手にする。したがって、悪意の CLUT のレンダリングなどの後続の操作により、挿入されたシェルコードの実行や、アプリケーション・クラッシュなどの可能性が生じる。
検出と緩和戦略
Trend Micro のレポートは、macOS 環境を監視する組織向けに、ネットワーク・ベースの検出手法の概要を説明している。疑わしい ICC プロファイルには、以下の特徴があるという:
- ヘッダー署名:有効なプロファイルは、オフセット 0x24 に 4 Byte4 のシーケンス “\x61\x63\x73\x70” が含まれている必要がある。
- CLUT オフセット検証:検出システムは、CLUT へのオフセットが lutA/B タグのタグ・データ・サイズと等しいファイルにフラグを立てる。
- プロトコル監視:HTTP(S)/SMB/Mail Protocal (SMTP/POP3/IMAP) に加えて、ファイル共有サービス経由で転送された ICC プロファイルを検査する。
Apple は macOS 15.0.1 アップデートで、この脆弱性を修正している。ただし、パッチを適用していないシステムは、武器化された画像や文書を介したドライブ・バイ攻撃に対して、依然として脆弱な状態にある。
研究者たちは、「実環境でのエクスプロイトは確認されていないが、エクスプロイトの容易さから、直ちにパッチを適用する必要がある」と警告している。ユーザー企業は、以下の対策を講じるべきである:
- 無効な CLUT オフセットを持つ ICC プロファイルをブロックする、ネットワーク侵入システムを導入する。
- バッチ画像処理に sips を利用するワークフローを監査する。
- 信頼できない画像ファイルを扱う macOS デバイスを、アップデートが適用されるまで隔離する。
今回の開示が浮き彫りにするのは、セキュリティが不十分な画像解析ツールのリスクである。それは、現代のオペレーティング・システムで、頻繁に発生する攻撃対象領域となる。
HDR や広色域ディスプレイの普及に伴い、カラー・マネジメントが複雑化するにつれて、グラフィック・サブシステムの厳格な検証による、メモリ破損エクスプロイトの阻止が不可欠となる。
macOS の脆弱性 CVE-2024-44236 の、技術的詳細が公開されました。この脆弱性は、すでに 2024年10月に修正済とのことです。ユーザーの皆さんは、いま一度、アップデートをご確認ください。なお、macOS の直近の脆弱性は、2025/04/01 の「Apple の深刻な3つの脆弱性:iOS 16.7.11/iPadOS 16.7.11/macOS 14.7.5 などにパッチ・バックポート」となります。よろしければ、macOS で検索と併せて、ご参照ください。
You must be logged in to post a comment.