最近 人気のLibreOfficeオフィススイートで見つかったバグが公開されました この脆弱性はCVE-2019-9848にカタログ化されています。 この障害が見つかりましたeは、事前に準備されたドキュメントを開くときに任意のコードを実行するために使用できます 悪意のある人によって、基本的にそれらを配布し、被害者がこれらの文書を実行するのを待ちます。
脆弱性 LibreLogoコンポーネントdが原因で発生しますプログラミングの指導とベクター描画の挿入を目的として、その操作をPythonコードに変換します。 LibreLogo命令を実行する機能を持つことにより、 攻撃者は任意のPythonコードを実行できます 現在のユーザーセッションのコンテキストで、LibreLogoで提供される「run」コマンドを使用します。 Pythonから、system()を使用して、任意のシステムコマンドを呼び出すことができます。
このバグを報告した人が説明したように:
LibreOfficeに同梱されているマクロは、最高のマクロセキュリティ設定であっても、ユーザーにプロンプトを表示せずに実行されます。 したがって、コードの実行を許可するエラーのあるLibreOfficeシステムマクロがあった場合、ユーザーは警告を受け取らず、コードはすぐに実行されます。
判決について
LibreLogoはオプションのコンポーネントですが、LibreOfficeではデフォルトでマクロが提供されます。 LibreLogoの呼び出しを許可する 動作の確認を必要とせず、警告を表示しません。 マクロの最大保護モードが有効になっている場合でも(「非常に高い」レベルを選択)。
攻撃の場合、このようなマクロを発生するイベントハンドラーにアタッチできます。 たとえば、特定の領域にマウスを合わせたり、ドキュメントの入力フォーカスをアクティブにしたりした場合(onFocusイベント)。
ここでの大きな問題は、コードが適切に翻訳されておらず、Pythonコードしか提供していないことです。スクリプトコードは、翻訳後に同じコードになることがよくあります。
その結果、攻撃者が作成したドキュメントを開くと、ユーザーには見えないPythonコードの非表示の実行を実現できます。
たとえば、デモンストレーションされたエクスプロイトの例では、警告なしにドキュメントを開くと、システム計算機が起動します。
そして、それ イベントが悪用される最初に報告されたバグではありません 以来のオフィススイートで 数か月前、バージョン6.1.0〜6.1.3.1で別のケースが発表されました それがあることが示されています コードインジェクションは LinuxおよびWindowsバージョンでは、ユーザーが悪意のあるURLにマウスを合わせると発生する可能性があります。
脆弱性が悪用されたときと同じように、それはいかなるタイプの警告ダイアログも生成しませんでした。 ユーザーが悪意のあるURLにマウスを合わせるとすぐに、コードがすぐに実行されます。
一方、スイート内でPythonを使用すると、スイートが制限や警告なしに任意のコードを実行するバグが悪用されるケースも明らかになりました。
これにより、LibreOfficeの人々は、これを利用するいくつかの既知のケースがあるため、スイート内のこの部分を確認するための素晴らしいタスクを持っています。
この脆弱性は、詳細を説明せずに修正されました それについてまたはアップデートでそれについての情報について LibreOfficeから6.2.5、1月XNUMX日にリリースされましたが、問題は完全には解決されておらず(マクロからのLibreLogo呼び出しのみがブロックされていました)、攻撃を実行するための他のいくつかのベクトルは未修正のままでした。
また、企業ユーザーに推奨されるバージョン6.1.6では問題は解決されていません。 この脆弱性を完全に排除することは、来週予定されているLibreOffice6.3のリリースで計画されています。
完全な更新がリリースされる前に、LibreLogoコンポーネントを明示的に無効にすることをお勧めします。LibreLogoコンポーネントは、デフォルトで多くのパッケージで利用できます。 Debian、Fedora、SUSE / openSUSE、およびUbuntuの脆弱性を部分的に修正しました。