この脆弱性は、Cisco Talos の Aleksandar Nikolic によって検出されました。
サマリー
Oracle の Outside In Technology(OIT)は、ソフトウェア開発者が、多数の異なるファイル形式に対してさまざまなアクションを実行するのに使用する一連の SDK です。OIT の Web サイトでは、このツールについて、「Outside In Technology は、600 種類の非構造化フォーマットのコンテンツの抽出、正規化、スクラビング、変換、および表示のための包括的なソリューションを開発者に提供するソフトウェア開発キット(SDK)スイートです」と説明しています。Talos はこのほど、 OIT の RTF パーサーと PDF パーサーにおいて脆弱性を発見しました。この OIT は、該当システム上で任意のコードを実行するために悪用される可能性があります。攻撃者は、これらのパーサーを活用する巧妙に細工されたファイルを使用することで、該当システムで任意のコードを実行できる可能性があります。
TALOS-2016-0198:Oracle Outside In Technology PDF パーサーにおけるコード実行の脆弱性(CVE-2016-3271)
PDF ファイルの解析で OIT SDK を使用するアプリケーション内に不正な /Index エントリが存在すると、文字列ポインタを整数値として誤って解釈し、領域外メモリ アクセスを引き起こす恐れがあります。このため、攻撃者によってメモリや PDF レイアウトが巧みに操作されると、該当システムでコードが実行される可能性があります。通常、PDF ファイルの /Index エントリには、数値の配列が含まれます。/Index エントリに文字列が含まれると、この状況が発生します。
この状況を引き起こす PDF の例を以下に示します。
図 A:PDF テスト ケースの例
/Index エントリに含まれる感嘆符によって、/Index 配列の 3 番目の要素が文字列として解釈され、整数値が入るべきポインタの場所に文字列が配置されます。このポインタはアプリケーションによって、その後のオフセット計算で使用されます。PDF の /Size パラメータを操作することで、整数オーバーフローを制御でき、任意のポインタが取得できます。ポインタ値を制御することで、攻撃者はさらにメモリを操作し、最終的にコードを実行できる可能性があります。
TALOS-2016-0215:Oracle Outside In Technology RTF におけるコード実行の脆弱性(CVE-2016-3293)
巧妙に細工された RTF ファイルを解析する際に、Oracle Outside In Technology を使用して、以前に解放されたメモリ位置への参照を再利用できるように操作することができます。この状況を悪用すれば、該当システム上でリモート コードを実行することが可能です。この問題を示す RTF ファイルの例を以下に示します。
図B:RTF テスト ケースの例
上記の例に含まれる \par パラメータが OIT の RTF パーサーによって処理されると、後に解放されるオブジェクトのメモリが割り当てられます。その後、最後の \footer パラメータが RTF パーサーによって処理されると、以前に解放された同じメモリ領域が適切な再割り当てなしに再利用されます。このメモリ領域のコンテンツを操作することで、攻撃者は該当システムで任意のコードを実行できる可能性があります。
まとめ
Talos はこれらの脆弱性を Oracle に開示しました。Oracle は両方の脆弱性に対応するセキュリティ アップデートをリリースしました。これらの脆弱性を利用し、攻撃者が該当システムで任意のコードを実行する恐れがあるため、セキュリティ アップデートをできるだけ早く適用することを推奨します。環境を保護し続けるためには、最新のソフトウェアの脆弱性に対するパッチを常時適用することが不可欠です。
これらの脆弱性に関する詳細については、こちら およびこちら よりアドバイザリをご覧ください。
Talos では、ソフトウェアにおけるゼロデイ脆弱性の特定調査を継続的に続けていきます。また、ゼロデイ脆弱性を特定するプログラム的な手段の開発、および、それに責任ある方法で対処することが、インターネット全体のセキュリティを向上する上で非常に重要であると確信しています。
Talos の脆弱性に関する報告および公開ポリシーは、こちら から参照できます。
カバレッジ
この脆弱性を検出するために次の Snort ID がリリースされました:40773~40774、41108~41109。
今後、脆弱性に関する新たな情報が追加されるまでの間は、ルールの追加や変更がある場合がありますのでご注意ください。最新のルールの詳細については、FireSIGHT Management Center、または Snort.org を参照してください。
ゼロデイ攻撃または脆弱性に関するレポートおよび情報についての詳細は、http://talosintel.com/vulnerability-reports/ をご覧ください。
本稿は 2017年1月18日に Talos Group のブログに投稿された「Vulnerability Spotlight: Multiple Code Execution Vulnerabilities in Oracle Outside In Technology」の抄訳です。