概要
Cisco Talos は、Foxit PDF Reader に存在する 18 の脆弱性を公開しています。この PDF リーダーは、PDF ドキュメントの表示、作成、編集を行える、評判のよい無償のプログラムです。Adobe Acrobat Reader の代替としての利用が一般的で、ブラウザ プラグインも広く使われています。
詳細
TALOS-2018-0607
TALOS-2018-0607/CVE-2018-3940 は、JavaScript エンジンに起因する、エクスプロイト可能な解放済みメモリ使用(use-after-free)の脆弱性です。リモートで任意コードが実行される危険性があります。Foxit は充実した機能を持つ PDF リーダーとして、JavaScript を使用したインタラクティブ ドキュメントやダイナミック フォームをサポートしています。埋め込まれた JavaScript コードを実行すると、ドキュメントが閉じられ、使用済みオブジェクトの多くが開放されます。ただし JavaScript は引き続き実行され、user-after-free 状態を引き起こすおそれがあります。この脆弱性により、アクティブなドキュメントの「removeDataObject」メソッドが呼び出され、任意コードが実行される危険性があります。
このため、巧妙に細工された悪意のある PDF ファイルをユーザが騙されて開いたり、(ブラウザのプラグインが有効になっている場合は)ブラウザ上でドキュメントを閲覧することでエクスプロイトを招く危険性があります。脆弱性に関する詳細はこちらをご覧ください。
TALOS-2018-0608
TALOS-2018-0608/CVE-2018-3941 は、JavaScript エンジンに起因する、エクスプロイト可能な解放済みメモリ使用(use-after-free)の脆弱性です。リモートで任意コードが実行される危険性があります。Foxit は充実した機能を持つ PDF リーダーとして、JavaScript を使用したインタラクティブ ドキュメントやダイナミック フォームをサポートしています。埋め込まれた JavaScript コードを実行すると、ドキュメントが閉じられ、使用済みオブジェクトの多くが開放されます。ただし JavaScript は引き続き実行され、user-after-free 状態を引き起こすおそれがあります。この脆弱性により、アクティブなドキュメントの「getNthFieldName」メソッドが呼び出され、任意コードが実行される危険性があります。
このため、巧妙に細工された悪意のある PDF ファイルをユーザが騙されて開いたり、(ブラウザのプラグインが有効になっている場合は)ブラウザ上でドキュメントを閲覧することでエクスプロイトを招く危険性があります。脆弱性に関する詳細はこちらをご覧ください。
TALOS-2018-0609
TALOS-2018-0609/CVE-2018-3942 は、JavaScript エンジンに起因する、エクスプロイト可能な解放済みメモリ使用(use-after-free)の脆弱性です。リモートで任意コードが実行される危険性があります。Foxit は充実した機能を持つ PDF リーダーとして、JavaScript を使用したインタラクティブ ドキュメントやダイナミック フォームをサポートしています。埋め込まれた JavaScript コードを実行すると、ドキュメントが閉じられ、使用済みオブジェクトの多くが開放されます。ただし JavaScript は引き続き実行され、user-after-free 状態を引き起こすおそれがあります。この脆弱性により、アクティブなドキュメントの「getPageRotation」メソッドが呼び出され、任意コードが実行される危険性があります。
このため、巧妙に細工された悪意のある PDF ファイルをユーザが騙されて開いたり、(ブラウザのプラグインが有効になっている場合は)ブラウザ上でドキュメントを閲覧することでエクスプロイトを招く危険性があります。脆弱性に関する詳細はこちらをご覧ください。
TALOS-2018-0610
TALOS-2018-0610/CVE-2018-3943 は、JavaScript エンジンに起因する、エクスプロイト可能な解放済みメモリ使用(use-after-free)の脆弱性です。リモートで任意コードが実行される危険性があります。Foxit は充実した機能を持つ PDF リーダーとして、JavaScript を使用したインタラクティブ ドキュメントやダイナミック フォームをサポートしています。埋め込まれた JavaScript コードを実行すると、ドキュメントが閉じられ、使用済みオブジェクトの多くが開放されます。ただし JavaScript は引き続き実行され、user-after-free 状態を引き起こすおそれがあります。この脆弱性により、アクティブなドキュメントの「getPageBox」メソッドが呼び出され、任意コードが実行される危険性があります。
このため、巧妙に細工された悪意のある PDF ファイルをユーザが騙されて開いたり、(ブラウザのプラグインが有効になっている場合は)ブラウザ上でドキュメントを閲覧することでエクスプロイトを招く危険性があります。脆弱性に関する詳細はこちらをご覧ください。
TALOS-2018-0611
TALOS-2018-0611/CVE-2018-3944 は、JavaScript エンジンに起因する、エクスプロイト可能な解放済みメモリ使用(use-after-free)の脆弱性です。リモートで任意コードが実行される危険性があります。Foxit は充実した機能を持つ PDF リーダーとして、JavaScript を使用したインタラクティブ ドキュメントやダイナミック フォームをサポートしています。埋め込まれた JavaScript コードを実行すると、ドキュメントが閉じられ、複数の使用済みオブジェクトが開放されます。ただし JavaScript は引き続き実行され、user-after-free 状態を引き起こすおそれがあります。この脆弱性により、アクティブなドキュメントの「JSON.stringify」メソッドが呼び出され、任意コードが実行される危険性があります。
このため、巧妙に細工された悪意のある PDF ファイルをユーザが騙されて開いたり、(ブラウザのプラグインが有効になっている場合は)ブラウザ上でドキュメントを閲覧することでエクスプロイトを招く危険性があります。脆弱性に関する詳細はこちらをご覧ください。
TALOS-2018-0612
TALOS-2018-0612/CVE-2018-3945 は、JavaScript エンジンに起因する、エクスプロイト可能な解放済みメモリ使用(use-after-free)の脆弱性です。リモートで任意コードが実行される危険性があります。Foxit は充実した機能を持つ PDF リーダーとして、JavaScript を使用したインタラクティブ ドキュメントやダイナミック フォームをサポートしています。埋め込まれた JavaScript コードを実行すると、ドキュメントが閉じられ、使用済みオブジェクトの多くが開放されます。ただし JavaScript は引き続き実行され、user-after-free 状態を引き起こすおそれがあります。この脆弱性により、「this.info」オブジェクトが呼び出された後に、アクティブなドキュメントの「JSON.stringify」メソッドが呼び出され、任意コードが実行される危険性があります。
このため、巧妙に細工された悪意のある PDF ファイルをユーザが騙されて開いたり、(ブラウザのプラグインが有効になっている場合は)ブラウザ上でドキュメントを閲覧することでエクスプロイトを招く危険性があります。脆弱性に関する詳細はこちらをご覧ください。
TALOS-2018-0613
TALOS-2018-0613/CVE-2018-3946 は、JavaScript エンジンに起因する、エクスプロイト可能な解放済みメモリ使用(use-after-free)の脆弱性です。リモートで任意コードが実行される危険性があります。Foxit は充実した機能を持つ PDF リーダーとして、JavaScript を使用したインタラクティブ ドキュメントやダイナミック フォームをサポートしています。埋め込まれた JavaScript コードを実行すると、ドキュメントが閉じられ、使用済みオブジェクトの多くが開放されます。ただし JavaScript は引き続き実行され、user-after-free 状態を引き起こすおそれがあります。この脆弱性により、アクティブなドキュメントの「getPageNthWord」メソッドが呼び出され、任意コードが実行される危険性があります。
このため、巧妙に細工された悪意のある PDF ファイルをユーザが騙されて開いたり、(ブラウザのプラグインが有効になっている場合は)ブラウザ上でドキュメントを閲覧することでエクスプロイトを招く危険性があります。脆弱性に関する詳細はこちらをご覧ください。
TALOS-2018-0628
TALOS-2018-0628 は、合計 6 件の、use-after-free に関する個別の脆弱性を参照しています(CVE-2018-3957、CVE-2018-3958、CVE-2018-3959、CVE-2018-3960、CVE-2018-3961、CVE-2018-3962)。この脆弱性は、Foxit PDF Reader の JavaScript エンジンに存在し、任意コードの実行に悪用される危険性があります。
このため、巧妙に細工された悪意のある PDF ファイルをユーザが騙されて開いたり、(ブラウザのプラグインが有効になっている場合は)ブラウザ上でドキュメントを閲覧することでエクスプロイトを招く危険性があります。脆弱性に関する詳細はこちらをご覧ください。
TALOS-2018-0629
TALOS-2018-0629/CVE-2018-3964 は、Foxit PDF Reader の JavaScript エンジンに存在する use-after-free の脆弱性です。任意コードの実行に悪用される危険性があります。この脆弱性により、巧妙に細工されたオブジェクトを引数に指定した、アクティブなドキュメントの「getPageNumWords」メソッドが呼び出され、悪用される可能性があります。
このため、巧妙に細工された悪意のある PDF ファイルをユーザが騙されて開いたり、(ブラウザのプラグインが有効になっている場合は)ブラウザ上でドキュメントを閲覧することでエクスプロイトを招く危険性があります。脆弱性に関する詳細はこちらをご覧ください。
TALOS-2018-0630
TALOS-2018-0630/CVE-2018-3965 は、Foxit PDF Reader の JavaScript エンジンに存在する use-after-free の脆弱性です。任意コードの実行に悪用される危険性があります。この脆弱性により、「this.bookmarkRoot.children」オブジェクトへの保存済みの参照が悪用され、user-after-free 状態を引き起こすおそれがあります。
このため、巧妙に細工された悪意のある PDF ファイルをユーザが騙されて開いたり、(ブラウザのプラグインが有効になっている場合は)ブラウザ上でドキュメントを閲覧することでエクスプロイトを招く危険性があります。脆弱性に関する詳細はこちらをご覧ください。
TALOS-2018-0631
TALOS-2018-0631/CVE-2018-3966 は、Foxit PDF Reader の JavaScript エンジンに存在する use-after-free の脆弱性です。任意のコード実行に悪用される危険性があります。この脆弱性により、「this.dataObjects」オブジェクトへの保存済みの参照が悪用され、user-after-free 状態を引き起こすおそれがあります。
このため、巧妙に細工された悪意のある PDF ファイルをユーザが騙されて開いたり、(ブラウザのプラグインが有効になっている場合は)ブラウザ上でドキュメントを閲覧することでエクスプロイトを招く危険性があります。脆弱性に関する詳細はこちらをご覧ください。
TALOS-2018-0632
TALOS-2018-0632/CVE-2018-3967 は、Foxit PDF Reader の JavaScript エンジンに存在する use-after-free の脆弱性です。任意のコード実行に悪用される危険性があります。この脆弱性により、「this.event.target」オブジェクトへの保存済みの参照が悪用され、user-after-free 状態を引き起こすおそれがあります。
このため、巧妙に細工された悪意のある PDF ファイルをユーザが騙されて開いたり、(ブラウザのプラグインが有効になっている場合は)ブラウザ上でドキュメントを閲覧することでエクスプロイトを招く危険性があります。脆弱性に関する詳細はこちらをご覧ください。
TALOS-2018-0660
TALOS-2018-0660/CVE-2018-3992 は、Foxit PDF Reader バージョン 9.2.0.9297 の JavaScript エンジンに存在する use-after-free の脆弱性です。巧妙に細工された PDF ドキュメントがメモリ内の解放済みオブジェクトの再利用を引き起こし、任意コードが実行される危険性があります。このため、悪意のある PDF ファイルをユーザが騙されて開いたり、(ブラウザのプラグインの拡張機能が有効になっている場合は)悪意のあるサイトにアクセスすることで、脆弱性が悪用される危険性があります。
Foxit は充実した機能を持つ完全な PDF リーダーとして、JavaScript を使用したインタラクティブ ドキュメントやダイナミック フォームをサポートしています。複数の PDF ドキュメントで、JavaScript のアクションを「ページを開く」イベントと「ページを閉じる」イベントに関連付けることができます。組み込まれた JavaScript コードを実行すると、ドキュメントが閉じられ、使用済みオブジェクトの多くが解放されますが、JavaScript の実行は継続することができます。ドキュメントを閉じた瞬間にページを変更すると、use-after-free 状態を引き起こすおそれがあります。脆弱性に関する詳細はこちらをご覧ください。
TALOS-2018-0661
TALOS-2018-0661/CVE-2018-3993 は、Foxit PDF Reader バージョン 9.2.0.9297 の JavaScript エンジンに存在する use-after-free の脆弱性です。巧妙に細工された PDF ドキュメントがメモリ内の解放済みオブジェクトの再利用を引き起こし、任意コードが実行される危険性があります。このため、悪意のある PDF ファイルをユーザが騙されて開いたり、(ブラウザのプラグインの拡張機能が有効になっている場合は)悪意のあるサイトにアクセスすることで、脆弱性が悪用される危険性があります。
この脆弱性は、Optional Content Groups(OCG)を操作する処理に存在します。このため、OCG を保存してドキュメントを閉じた後に、そのプロパティにアクセスすると、use-after-free の状態を引き起こすおそれがあります。脆弱性に関する詳細はこちらをご覧ください。
TALOS-2018-0662
TALOS-2018-0662/CVE-2018-3994 は、Foxit PDF Reader バージョン 9.2.0.9297 の JavaScript エンジンに存在する use-after-free の脆弱性です。巧妙に細工された PDF ドキュメントがメモリ内の解放済みオブジェクトの再利用を引き起こし、任意コードが実行される危険性があります。このため、悪意のある PDF ファイルをユーザが騙されて開いたり、(ブラウザのプラグインの拡張機能が有効になっている場合は)悪意のあるサイトにアクセスすることで、脆弱性が悪用される危険性があります。
Foxit は充実した機能を持つ PDF リーダーとして、JavaScript を使用したインタラクティブ ドキュメントやダイナミック フォームをサポートしています。複数の PDF ドキュメントで、JavaScript のアクションを「ページを開く」イベントと「ページを閉じる」イベントに関連付けることができます。組み込まれた JavaScript コードを実行すると、ドキュメントが閉じられ、使用済みオブジェクトの多くが解放されますが、JavaScript の実行は継続することができます。ドキュメントを閉じた瞬間にページを変更すると、use-after-free 状態を引き起こすおそれがあります。
ページを開く間に「app.activeDocs[0].calculateNow()」を呼び出すと、別のオブジェクトがヒープに割り当てられます。開くアクションのコードをドキュメント全体に実行する際に、「app.activeDocs[0].importDataObject();」が解放済みオブジェクトを逆参照できることで、use-after-free 状態が発生する危険性があります。脆弱性に関する詳細はこちらをご覧ください。
TALOS-2018-0663
TALOS-2018-0663/CVE-2018-3995 は、Foxit PDF Reader バージョン 9.2.0.9297 の JavaScript エンジンに存在する use-after-free の脆弱性です。巧妙に細工された PDF ドキュメントがメモリ内の解放済みオブジェクトの再利用を引き起こし、任意コードが実行される危険性があります。このため、悪意のある PDF ファイルをユーザが騙されて開いたり、(ブラウザのプラグインの拡張機能が有効になっている場合は)悪意のあるサイトにアクセスすることで、脆弱性が悪用される危険性があります。
Foxit は充実した機能を持つ PDF リーダーとして、JavaScript を使用したインタラクティブ ドキュメントやダイナミック フォームをサポートしています。複数の PDF ドキュメントで、JavaScript のアクションを「ページを開く」イベントと「ページを閉じる」イベントに関連付けることができます。組み込まれた JavaScript コードを実行すると、ドキュメントが閉じられ、使用済みオブジェクトの多くが解放されますが、JavaScript の実行は継続することができます。ドキュメントを閉じた瞬間にページを変更すると、use-after-free 状態を引き起こすおそれがあります。
この脆弱性は、「SignatureInfo」オブジェクトへの参照を、フォーム フィールドの「signatureInfo」メソッドを呼び出すことで保存する処理に存在します。ドキュメントを閉じると、オブジェクトが解放され、その後、古い参照にアクセスすると、use-after-free 状態が発生します。脆弱性に関する詳細はこちらをご覧ください。
TALOS-2018-0664
TALOS-2018-0664/CVE-2018-3996 は、Foxit PDF Reader バージョン 9.2.0.9297 の JavaScript エンジンに存在する use-after-free の脆弱性です。巧妙に細工された PDF ドキュメントがメモリ内の解放済みオブジェクトの再利用を引き起こし、任意コードが実行される危険性があります。このため、悪意のある PDF ファイルをユーザが騙されて開いたり、ブラウザのプラグインが有効になっている状態で、悪意のあるサイトにアクセスすることで、脆弱性が悪用される危険性があります。Foxit は充実した機能を持つ PDF リーダーとして、JavaScript を使用したインタラクティブ ドキュメントやダイナミック フォームをサポートしています。複数の PDF ドキュメントで、JavaScript のアクションを「ページを開く」イベントと「ページを閉じる」イベントに関連付けることができます。組み込まれた JavaScript コードを実行すると、ドキュメントが閉じられ、使用済みオブジェクトの多くが解放されますが、JavaScript の実行は継続することができます。ドキュメントを閉じた瞬間にページを変更すると、use-after-free 状態を引き起こすおそれがあります。
この脆弱性により、巧妙に細工されたオブジェクトを引数に指定した、フィールド オブジェクトの「isDefaultChecked」メソッドが呼び出され、use-after-free 状態が発生する危険性があります。脆弱性に関する詳細はこちらをご覧ください。
TALOS-2018-0665
TALOS-2018-0665/CVE-2018-3997 は、Foxit PDF Reader バージョン 9.2.0.9297 の JavaScript エンジンに存在する use-after-free の脆弱性です。巧妙に細工された PDF ドキュメントがメモリ内の解放済みオブジェクトの再利用を引き起こし、任意コードが実行される危険性があります。このため、悪意のある PDF ファイルをユーザが騙されて開いたり、ブラウザのプラグインが有効になっている状態で、悪意のあるサイトにアクセスすることで、脆弱性が悪用される危険性があります。
Foxit は充実した機能を持つ PDF リーダーとして、JavaScript を使用したインタラクティブ ドキュメントやダイナミック フォームをサポートしています。複数の PDF ドキュメントで、JavaScript のアクションを「ページを開く」イベントと「ページを閉じる」イベントに関連付けることができます。組み込まれた JavaScript コードを実行すると、ドキュメントが閉じられ、使用済みオブジェクトの多くが解放されますが、JavaScript の実行は継続することができます。ドキュメントを閉じた瞬間にページを変更すると、use-after-free 状態を引き起こすおそれがあります。
「SeedValue」オブジェクトへの参照を、フォーム フィールドの「signatureGetSeedValue」メソッドを呼び出すことで保存してドキュメントを閉じると、オブジェクトが解放されます。その後、古い参照にアクセスすると、use-after-free 状態が発生します。脆弱性に関する詳細はこちらをご覧ください。
カバレッジ
この悪意ある試行は、以下の Snort ルールにより検出可能です。今後、脆弱性に関する新たな情報が追加されるまでの間は、ルールが追加されたり、現行のルールが変更されたりする場合がありますのでご注意ください。最新のルールの詳細については、Firepower Management Center または Snort.org を参照してください。
Snort ルール:45158 ~ 45159、45608 ~ 45609、45652 ~ 45653、45715 ~ 45716、45823 ~ 45824、46864 ~ 46865、47727 ~ 47728
本稿は 2018年10月1日に Talos Group のブログに投稿された「Vulnerability Spotlight: Multiple Issues in Foxit PDF Reader」の抄訳です。