【ITニュース解説】「ImageMagick」に再度深刻な脆弱性 - サーバ環境は注意

2025年09月09日に「セキュリティNEXT」が公開したITニュース「「ImageMagick」に再度深刻な脆弱性 - サーバ環境は注意」について初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

ITニュース概要

多くのWebサイトで使われる画像処理ライブラリ「ImageMagick」に、深刻なセキュリティ上の欠陥が発見された。悪意のある画像を処理させると、サーバが乗っ取られるなどの危険があるため、利用者は速やかに最新バージョンへの更新が必要だ。

ITニュース解説

Webサイトやアプリケーションで画像をリサイズしたり、フォーマットを変換したり、エフェクトを加えたりする際に広く利用されている画像処理ライブラリ「ImageMagick」において、新たな深刻な脆弱性が発見された。この脆弱性を悪用されると、サーバが外部から不正に操作されたり、重要な情報を盗まれたりする危険性があり、システム管理者や開発者は迅速な対応を求められる。

まず、ImageMagickがどのようなものかを理解する必要がある。これは、プログラムから画像を扱うための便利な機能を集めた部品セット、いわゆるライブラリである。例えば、ユーザーがWebサイトに画像をアップロードした際に、自動的にサムネイル画像を生成したり、大きすぎる画像のサイズを調整したりする処理は、多くの場合、ImageMagickのようなライブラリの機能によって実現されている。その利便性の高さから、世界中の非常に多くのWebアプリケーション、コンテンツ管理システム(CMS)、さらにはOSの標準機能としても採用されており、インターネットの基盤を支える重要なソフトウェアの一つと言える。

今回発見された脆弱性の一つは、「シェルインジェクション」と呼ばれる種類のものである。これは、攻撃者が特殊な細工を施したファイル名をImageMagickに処理させることで、サーバのOSコマンドを不正に実行できてしまうという問題だ。具体的には、ファイル名に「|」(パイプ)のような、OSにとって特別な意味を持つ記号を含ませる手口が報告されている。通常、プログラムはファイル名を単なる文字列として扱うが、この脆弱性がある場合、ImageMagickがファイル名をOSに渡す過程でその特殊記号を解釈してしまい、記号以降の文字列をOSへの命令として実行してしまう。これにより、攻撃者はサーバ内のファイルを削除したり、書き換えたり、外部に送信したりすることが可能になる。最悪の場合、サーバを完全に制御下に置き、他のシステムへの攻撃の踏み台にするなど、甚大な被害につながる恐れがある。

もう一つの深刻な脆弱性は、「任意ファイルの読み取り」を可能にするものである。これは、攻撃者が巧妙に作成したSVG形式の画像ファイルをImageMagickに処理させることで、サーバ上に存在する任意のファイルの内容を盗み見ることができてしまうというものだ。SVGはXMLというテキストベースの言語で記述される画像フォーマットであり、外部のファイルを参照する機能を持つ。攻撃者はこの機能を悪用し、本来アクセスが許可されていないはずの設定ファイルや、パスワード情報が記載された機密ファイルなどを指定したSVGファイルを作成する。脆弱性を持つImageMagickがこのファイルを処理すると、指定された機密ファイルの内容を読み込み、画像データの一部として出力してしまう。攻撃者はその出力結果から、サーバの重要な情報を抜き取ることが可能となる。

これらの脆弱性が特に危険視される理由は、ImageMagickが非常に広範囲で利用されている点にある。自社で開発したシステムが直接ImageMagickを呼び出していなくても、利用しているプログラミング言語のフレームワークや、WordPressのようなCMS、各種プラグインなどが内部的にImageMagickに依存しているケースは少なくない。つまり、開発者がその存在を意識していなくても、システムが脆弱性の影響を受ける可能性があるということだ。特に、不特定多数のユーザーが画像をアップロードできる機能を持つWebサービスでは、攻撃者が悪意のあるファイルを送り込みやすいため、リスクは極めて高い。

この問題への最も確実な対策は、脆弱性を修正した最新バージョンへImageMagickをアップデートすることである。システム管理者は、自身が管理するサーバにインストールされているImageMagickのバージョンを確認し、脆弱性の影響を受けるバージョンであれば、速やかにアップデート作業を実施しなければならない。何らかの理由ですぐにアップデートができない場合には、暫定的な対策として、ImageMagickの設定ファイル(policy.xml)を編集し、危険な処理を無効化する緩和策を講じることも推奨されている。例えば、SVGのような特定の画像フォーマットの処理を一時的に禁止することで、関連する脆弱性の悪用を防ぐことができる。

ソフトウェアの脆弱性は、どれだけ注意深く開発されていても発見される可能性がある。システムエンジニアにとって、自身が運用するシステムでどのようなソフトウェアが利用されているかを正確に把握し、日頃からセキュリティ関連の情報を収集し続けることは非常に重要である。そして、今回のような深刻な脆弱性が公表された際には、その内容とリスクを正しく理解し、迅速かつ的確に対応することが、システムと利用者を守るための重要な責務となる。

関連コンテンツ