Cisco Talos は本日(10 月 10 日)、Windows OS の WindowsCodecs.dll コンポーネントで発見された脆弱性を公開しました。
WindowsCodecs.dll は Windows Imaging Component(WIC)の実装に存在するコンポーネント ライブラリで、画像とそのデータを処理するためのフレームワークです。WIC により、独立系ソフトウェア ベンダー(ISV)や独立系ハードウェア ベンダー(IHV)が独自の画像コーデックを開発し、標準の画像形式(TIFF、JPEG、PNG、GIF、BMP、HDPhoto など)と同様に扱える環境を Windows 上で提供できます。
脆弱性の詳細
TALOS-2018-0644 – Microsoft WindowsCodecs.dll SniffAndConvertToWideString で発見された情報漏えいの脆弱性
TALOS-2018-0644(CVE-2018-8506)は、WindowsCodecs.dll(バージョン 10.0.17134.1)の SniffAndConvertToWideString 関数に存在する、エクスプロイト可能なメモリ リークの脆弱性です。細工された JPEG ファイルにより、ライブラリから初期化されていないメモリが返され、メモリ リークを引き起こす可能性があります。攻撃者は不正な JPEG ファイルを送信/共有することで、この脆弱性をトリガーできます。
脆弱性は WindowsCodecs DLL ライブラリ(Windows Imaging Component(WIC)の実装)に存在しています。この DLL ライブラリは、画像および画像メタデータを扱うための拡張可能なフレームワークです。
条件を満たした不正なメタデータを含む JPEG ファイルで `IWICImagingFactory::CreateDecoderFromFilename` が呼び出されると、不適切なヌル終端文字列によりヒープ メモリでリークが引き起こされる可能性があります。
詳細はこちらをご覧ください。
該当バージョン
脆弱性は WindowsCodecs.dll(バージョン 10.0.17134.1)で確認済みですが、古いバージョンにも存在する可能性があります。最新の Windows 更新プログラムを適用することを推奨します。
詳細
開発者にとって WIC のメリットは、独自の画像形式を単一の共通インタフェースで扱える環境をユーザに提供できることです。これによりユーザは画像形式についての知識なしで画像を操作できます。また、WIC は幅広い画像コーデック、ピクセル形式、メタデータに対応できるだけでなく、新しい画像形式に対してはランタイムを自動で検出します。
開発者には、Windows Imaging Component などの OS コンポーネントを使用することが推奨されます。これらのコンポーネントは頻繁に更新されるため、開発者独自の製品に特定の更新プログラムを適用する必要がないからです。
メモリ リークの脆弱性は危険です。割り当てられたメモリをプログラムが適切に解放せず、メモリ ブロックの予約状態が続くため、システムが不安定になる可能性があります。脆弱性を抱えたアプリケーションは、時間の経過とともにメモリを浪費し続け、最終的にすべての RAM リソースを消費するため、システム異常を引き起こす危険性があります。これらの脆弱性による潜在的な悪影響は、開発者にとって注意が必要です。
カバレッジ
次の Snort ルールは、今回発見された脆弱性に対するエクスプロイトを検出します。脆弱性に関する新たな情報が発見された場合は、ルールが追加・変更される可能性もあります。最新情報にご注意ください。ルールに関する最新情報は、Firepower Management Center または Snort.org を参照してください。
Snort ルール:47430 ~ 47433
本稿は 2018年7月20日に Talos Group のブログに投稿された「Microsoft WindowsCodecs.dll SniffAndConvertToWideString Information Leak Vulnerability」の抄訳です。