この脆弱性は Yves Tounan によって検出されました。
Talos は FreeImage と連携で、TALOS-2016-0189/CVE-2016-5684 の検出を公表します。
概要
FreeImage は無料または有料ライセンスで、マルチメディア ソフトウェア、ゲーム、開発者ツール、PDF ジェネレータなどを含む 100 もの製品に利用されている一般的なソフトウェアです。FreeImage は Adobe の Extensible Metadata Platform(XMP)によって作成された一般的なファイル形式を使い、メタデータのリアルタイム管理が可能です。Adobe によると、コンテンツ作成中にファイルにメタデータの埋め込みができる XMP ファイル形式は、このファイル形式の FreeImage 3.17.0 統合により、XMP 画像の「ピクセルあたりの色(Colors Per Pixel)」値のオーバーフローに対する脆弱性が発生しました。大まかに言うと、FreeImage 3.17.0 で一定値を超える「ピクセルあたりの色(Colors Per Pixel)」値で XMP ファイルを開いた場合、機能の追加コードに正しく対応できなくなります。99 オンスのグラスに 100 オンス以上の水を注ぐようなもので、水が溢れて周囲にこぼれてしまいます。技術的に言うと、大きすぎる値はコード実行中に正しく検証されず、境界を越えた書き込みを引き起こす可能性があります。これによって、任意にメモリを上書きされ、リモートでコード実行される可能性があります。これは、細工されたファイルが E メールあるいはインスタント メッセージの添付ファイルとして送られてきた場合に起こりやすいと考えられます。
統合が広範で、悪用が比較的簡単なため、FreeImage 統合ソフトウェアをご利用のユーザにはできるだけ早くプラットフォームにパッチを適用することを推奨します。ソフトウェアのリストは、こちらの FreeImage サイトでご覧いただけます。
FreeImage はこの脆弱性に対し、 8 月 7 日に CVS でパッチを適用していますが、新しいバージョンはまだリリースされていません。FreeImage を使用する場合は、この脆弱性を回避するため、CVS バージョンにアップデートしてください。
この脆弱性に関する技術的詳細については、こちらのサイトから脆弱性のアドバイザリをご覧ください。
カバレッジ
お客様の保護のため、Talos はこうした脆弱性を悪用しようとする行為を検出するルールをリリースいたしました。今後、脆弱性に関する新たな情報が追加されるまでの間は、ルールの追加や変更がある場合がありますのでご注意ください。最新のルールの詳細については、FireSIGHT Management Center、または Snort.org を参照してください。
Snort Rules: 39883 & 39884
その他のゼロデイ レポートおよび脆弱性レポート、情報については、こちらをご覧ください。http://www.talosintelligence.com/vulnerability-reports/
本稿は 2016年10月3日に Talos Group のブログに投稿された「Vulnerability Spotlight: FreeImage Library XMP Image Handling Code Execution Vulnerability」の抄訳です。