ImageMagick の脆弱性 CVE-2025-57803 が FIX:32-Bit 環境での RCE の可能性

Critical ImageMagick Vulnerability Allows Remote Code Execution

2025/09/01 gbhackers — 広く使用されるオープンソース画像処理ソフトウェア ImageMagick に、深刻な脆弱性 CVE-2025-57803 (CVSS 3.1:9.8) が発見された。この脆弱性を悪用する攻撃者は、リモートからのコード実行を可能にするという。なお、この脆弱性の影響を受けるのは、ImageMagick 32-Bit 版のバージョン 7.1.2-2/6.9.13-28 未満である。

脆弱性の詳細

この脆弱性は、ImageMagick の BMP (ビットマップ) エンコーダ、具体的には WriteBMPImage 関数における 32ビット整数オーバーフローに起因する。

ItemDetails
CVE IDCVE-2025-57803
Vulnerability32-bit integer overflow in BMP encoder (WriteBMPImage) leading to heap buffer overflow
Affected VersionsImageMagick < 7.1.2-2 (7.x branch)
ImageMagick < 6.9.13-28 (6.x branch)
Patched Versions7.1.2-2
6.9.13-28
Severity (CVSS v3.1)9.8 (Critical)

この脆弱性は、画像を BMP 形式に変換する処理で用いられる、スキャンライン・ストライド計算における数学的なオーバーフローに起因する。それにより、”bytes_per_line” の値は極端に小さくなる一方で、画像書き込み機能は行ごとに想定されたデータ量を出力し続ける。

ImageMagick と .NET ライブラリ Magick.NET のメンテナーを兼任する Dirk Lemstra が、この問題に対処するセキュリティ・アドバイザリ GHSA-mxvv-97wh-cfmm を公開している。

この脆弱性は、Web アプリ/サービスで使用される自動変換パイプラインにおいて、攻撃者に悪用を許す、典型的なヒープ破損プリミティブを形成する。

特に、32-Bit システム上において、幅が 178,956,969 Pixel を超える画像を処理する場合に、この問題が発生する。このケースでは、整数オーバーフローにより “bytes_per_line” の値は僅か 688 Byte になるが、実際の行単位データでは 536,000,000 Byte 以上が必要とされる。この不一致により、ヒープバッファ・オーバーフローが発生し、割り当てメモリ境界を超える領域への、攻撃者による制御データの書き込みを許すことになる。

この攻撃ベクターは、認証やユーザー操作を必要とせず、ネットワーク経由でアクセス可能な画像変換サービスを通じた実行を許すため、その影響が懸念される。さらに、多くの Web アプリやクラウド・サービスが、アップロード画像の自動処理を採用し、BMP などの複数のフォーマットへの変換を行うため、このエクスプロイトに対して脆弱である。

その一方で、32-Bit 版 ImageMagick は攻撃に脆弱であるが、64-Bit 版システムはアドレス空間演算の大きさにより、この整数オーバーフローの影響から保護される。ただし、メンテナーが追加の安全策として推奨するのは、すべてのシステムへのパッチ適用である。

この脆弱性は、画像アップロードとサーバ側自動処理という、一般的なワークフローを通じて悪用されるものだ。BMP 変換時にオーバーフローを引き起こす画像を作成する攻撃者は、以下の問題を引き起こす可能性を手にする。

  • ヒープ操作によるリモート・コード実行
  • サービス拒否攻撃 (アプリケーション・クラッシュ)
  • システム整合性を損なうメモリ破損
早急な対応が必要

ImageMagick ユーザーに対して強く推奨されるのは、以下のパッチ適用済みバージョンへと、速やかにアップデートすることだ。

  • 7.x ブランチ:バージョン 7.1.2-2 以降
  • 6.x ブランチ:バージョン 6.9.13-28 以降

これらのパッチは、ストライド計算に算術ガードを導入して整数オーバーフローを防ぐという、安全性のための不変条件を強化している。修正内容には、ストライド計算前の幅/ピクセルビット数の検証などが取り込まれ、行データがバッファ境界を超えないことを保証している。

推奨される追加対策は、以下の通りである。

  • 画像処理パイプラインの定期的なセキュリティ監査
  • ライブラリ更新以外の多層防御策の実装
  • 異常な画像処理リクエストの監視

ImageMagick を利用する組織にとって必要なことは、優先的なアップデート適用/画像処理ワークフローの確認に加えて、適切な入力検証とリソース制限の実施となる。

この脆弱性が示すのは、無害に見える画像変換処理であっても、信頼できないコンテンツを扱う場合には、深刻な攻撃ベクターが生じるという可能性である。

システム管理者に求められるのは、ImageMagick のインストール環境のアーキテクチャと更新手順の確認である。また、レガシー環境やコンテナ環境で、32-Bit 版が使用されている可能性も精査すべきである。