Cisco Japan Blog

注目の脆弱性:Gdk-Pixbuf の複数の脆弱性

1 min read



概要

本日、Talos は Gdk-Pixbuf ツールキットで確認された 2 つのリモート コード実行の脆弱性の発見について情報を公開します。このツールキットは、Chromium や、Firefox、GNOME サムネイラー、VLC などの複数のデスクトップ アプリケーションで使用されます。この脆弱性を不正利用する攻撃者は被害マシンの制御を完全に掌握できます。攻撃者が特別に細工された TIFF または JPEG 画像を作成し、誘導された被害者がその画像を開くと、攻撃者のコードがローカル ユーザの権限で実行されます。

詳細

TALOS-2017-0377popup_icon — CVE-2017-2870

この脆弱性は Cisco Talos チームの Marcin Noga が発見しました。それとは別に、GDK セキュリティの Tobias Mueller もこの脆弱性を発見しています。

これは悪用可能な整数オーバーフローの脆弱性で、Gdk-pixbuf 2.36.6 ツールキットの tiff_image_parse 関数に存在しています。特別に細工された TIFF ファイルがヒープオーバーフローを起こし、その結果としてリモートでコードが実行されます。この脆弱性は TIFF パーサーに存在しており、ライブラリが高最適化フラグ「-O3」でコンパイルされている場合にのみ発生します(Clang でテスト済み)。このツールキットは、「Tiff_image_parse」関数内で定義されるいくつかの IF 文で使用されます。オーバーフローをチェックするための IF 文ですが、残念なことに、コンパイラの最適化によって、これらのチェックは削除されてしまいます。問題は、コンパイラがこれらのチェックを「未定義の動作」として認識し、最適化のためにこれらを削除してしまうことです。最終的に、適切な整数オーバーフローのチェックが実行されないことで、ヒープ オーバーフローが発生し、攻撃者による任意のコード実行を可能にします。

TALOS-2017-0366popup_icon — CVE-2017-2862

この脆弱性は Cisco Talos の Marcin Noga が発見しました。

これは悪用可能なヒープオーバーフローの脆弱性で、Gdk-pixbuf 2.36.6 の gdk_pixbuf__jpeg_image_load_increment 関数内に存在します。特別に細工された TIFF ファイルがヒープオーバーフローを起こし、その結果としてリモートでコードが実行されます。この脆弱性は JPEG パーサーに存在し、「gdk_pixbuf__jpeg_image_load_increment」関数における出力バッファの誤った計算サイズが基になっています。これが後に、libjpeg の「null_convert」関数内のコンテンツ変換中にヒープオーバーフローを起こします。

カバレッジ

今回の脆弱性をエクスプロイトする試みは、以下の Snort ルールにより検出できます。今後、脆弱性に関する新たな情報が追加されるまでの間は、ルールが追加されたり、現行のルールが変更されたりする場合がありますのでご注意ください。最新のルールの詳細については、Firepower Management Center、FireSIGHT Management Center、または Snort.org を参照してください。

Snort ルール:39607、39615、43214 ~ 43215

 

本稿は 2017年8月30日に Talos Grouppopup_icon のブログに投稿された「Vulnerability Spotlight: Multiple Gdk-Pixbuf Vulnerabilitiespopup_icon」の抄訳です。

 

コメントを書く