Cisco Talosの研究者らは米国時間9月30日、OpenJPEGの「JPEG 2000コーデック」に深刻な脆弱性を発見していたことを発表した。この脆弱性が悪用されれば、遠隔地からの攻撃によって任意のコードを実行される可能性があるという。
この脆弱性(CVE-2016-8332)は、OpenJPEGライブラリ内の、JPEG 2000の画像ファイル形式を解析する実装で、ヒープ領域の境界を越えた書き込み(Out-Of-Bounds Write)を許すというものだ。こういった領域外への書き込みによって、ヒープの破壊がもたらされたり、任意のコードの実行を許してしまう可能性がある。
OpenJPEGとはC言語によって書かれたオープンソースのJPEG 2000コーデックのこと。PopplerやMuPDF、PdfiumソフトウェアなどでPDFファイル内に画像フォーマットを埋め込む際などに広く使われている画像圧縮標準JPEG 2000を推進するために作られた。
共通脆弱性評価システム(CVSS)のスコアで7.5と評価されたこの脆弱性は、JPEG 2000形式のファイル内に存在するMCC(Multiple Component Collection)レコードの解析時に発生したエラーによって、「ヒープ領域に隣接したメモリに対する不正な読み込みや書き込み」が引き起こされるというものだ。こういった誤動作を悪用すると、ヒープ領域のメタデータプロセス上でのメモリ破壊を発生させることができる。
Cisco Talosによると、攻撃者はある種の仕掛けを施したJPEG 2000画像ファイルを被害者に開かせることで、この脆弱性を悪用できるという。例えば、攻撃者はこのような画像ファイルをフィッシングメールに添付したり、「Google Drive」や「Dropbox」といった一般的なサービス上でホストし、ダウンロードさせることで、遠隔地からコードを実行できるようになる。
この脆弱性はOpenJPEGのopenjp2のバージョン2.1.1で発見されたものだ。
なお、Cisco Talosは影響のあるベンダーに対して、7月26日にこの脆弱性を通知し、脆弱性の一般公開に先がけて、問題を修正するためのパッチを準備できる期間を設けていた。
この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。