Apple PDF Crasher - Apple製PDFレンダリングエンジンのDoS脆弱性

English

問題の概要

Apple製のPDFレンダリングエンジンには、 細工されたPDFファイルを開くことでアプリケーションクラッシュを起こすDenial of Serviceの脆弱性が存在します。

対象

作り方

  1. ghostscriptのcidfmap.localにに以下の記述を追加します。これはgnuplotで出したEPS内で日本語を使うために必要です。 Fedoraで記述しているため、他のディストリビューションではパスが異なることがあります。
    /GothicBBB-Medium >> /FileType /TrueType /Path (/usr/share/fonts/vlgothic/VL-Gothic-Regular.ttf) /SubfontID 0 /CSI [(Japan1) 2] << ;
    /Ryumin-Light >> /FileType /TrueType /Path (/usr/share/fonts/ipa-mincho/ipam.ttf) /SubfontID 0 /CSI [(Japan1) 4] << ;
    
  2. gnuplotで日本語を含むepsを生成し、それをgraphicxパッケージでincludegraphicsし、platexとdvipdfmxを使ってPDFを生成するだけで問題が発生します。

報告

本脆弱性はIPAを通じて1年前に開発元に通知されましたが、開発元はこれを脆弱性と認めず未修正のままとなっています。 2015/1/9をもって起算日から1年が経過したため非公開依頼の取り下げを要求し、一般公開を行いました。

回避策

PDF製作者はgnuplotを使う場合には日本語を含めない以外の回避策はありません。 PDF製作者はgnuplotで日本語を使う場合にはEPS形式を使用しないことで回避できます。 ユーザーは問題のあるPDFを閲覧する場合にはGoogle Chromeなどで閲覧することで問題を回避できます。

Exploit Code

クラッシュを引き起こすPDF
ソース

謝辞

nvsofts氏にはMAC OS X上での検証において多大なる支援を頂きました。

変更記録