LibreOffice 6.2.5で任意コード実行可能な脆弱性、完全には修正されず

2019年8月3日 16:12

印刷

記事提供元:スラド

 LibreOfficeで任意コード実行が可能な脆弱性(CVE-2019-9848)が見つかり、バージョン6.2.5で修正されたのだが、完全には修正されていないようだ(The Registerの記事)。

LibreOfficeに標準でインストールされるオプションのコンポーネント「LibreLogo」では、WriterにLOGOのプログラムコードを書くことでタートルグラフィックスの描画ができる。コードはPythonのコードへ変換後に実行されるのだが、適切なチェックが行われていないため、Writer上に書いたPythonのコードは一部がそのまま実行される。これをイベントハンドラーによるマクロ実行と組み合わせ、LibreLogoの「run」マクロを指定すれば警告なしに任意コードが実行可能だ(JRE不要)。

これについてLibreOffice 6.2.5では、ドキュメントのイベントハンドラーからLibreLogを呼び出せないように修正したと説明されているが、Pythonコードのチェックについては触れられていない。実際にLibreLogoツールバーからプログラムを実行すれば、以前のバージョンと同様にPythonコードが実行される。また、脆弱性を発見したERNWが公開しているハイパーリンクのイベントハンドラーを利用するPoCはブロックされるものの、「文書を開いた時」などのイベントにマクロを割り当てれば実行可能だった。この脆弱性を使用するエクスプロイトはMetasploitにも追加され、バージョン6.2.5でも動作するようだと説明されている。そのため、この脆弱性を悪用する攻撃を回避するには、LibreLogoを削除するのが確実だ。

The Document FoundationはThe Registerに対し、バージョン6.2.5では部分的な修正にとどまることを認めている。その理由として別の方法でも脆弱性を呼び出せることを挙げ、近日リリース予定のバージョン6.3/6.2.6で修正するとも述べているが、Pythonコードがそのまま実行される問題を修正するつもりはないようだ。また、マクロのセキュリティ設定にかかわらず実行されることに関しては、実行されるのはマクロではなく、プログラムがPythonを呼び出すのだと主張している。ただし、安全性を高めるためLibreLogoを拡張機能として分離することも検討しているそうだ。

 スラドのコメントを読む | オープンソースセクション | オープンソース | セキュリティ | プログラミング | バグ

 関連ストーリー:
国税庁が公開する「医療費集計フォーム」がxlsx形式になり、LibreOfficeでも動作確認済みに 2019年01月29日
イタリア・ローマ市、OfficeアプリケーションのLibreOffice移行を本格的に開始 2018年08月04日
LibreOfficeがMicrosoft Storeに登場、ただし…… 2018年07月26日

※この記事はスラドから提供を受けて配信しています。

関連キーワード

関連記事