パスワードを忘れた? アカウント作成
13979121 story
スラッシュバック

LibreOffice 6.3リリース、イベントハンドラーによるLibreLogoマクロの実行をブロック 12

ストーリー by headless
阻止 部門より

The Document Foundationは8日、LibreOffice 6.3をリリースした(アナウンスリリースノートThe Registerの記事)。

LibreOfficeのタートルグラフィックス描画機能LibreLogoでは、Writer上に書いた一部のPythonコードがそのまま実行されてしまう問題があり、イベントハンドラーによるマクロ実行と組み合わせることで任意コードが実行可能となっていた。この脆弱性はLibreOffice 6.2.5で修正されたが、ハイパーリンクのイベントハンドラーからのLibreLogoマクロ呼び出しはブロックされるようになったものの、「文書を開いた時」などのイベントではブロックされていなかった。

アナウンスやリリースノートでは特に触れられていないが、LibreOffice 6.3では文書操作などのイベントでもLibreLogoマクロの呼び出しがブロックされるようになったようだ。一方、Writer上のPythonコード実行はブロックされておらず、LibreLogoツールバーから「Logoプログラムの実行」をクリックすればPythonコードを実行できる。また、現在もLibreLogoは標準でインストールされるオプション機能となっている。

なお、LibreOfficeのダウンロードページでは安定版と最新版の2バージョンを提供しており、今回の問題を受けて安定版が一時消えていたが、LibreOffice 6.3リリースに伴ってLibreOffice 6.2.5が安定版に移動している。ただし、LibreOffice 6.2.5では上述のようなイベントからのLibreLogoマクロ呼び出しはブロックされないので注意が必要だ。LibreLogoマクロはマクロのセキュリティ設定にかかわらず、ユーザーに確認を求めることなく実行される。

  • by Anonymous Coward on 2019年08月11日 19時17分 (#3667664)

    NetBSDからフォークしたOpenBSDがセキュリティ重視路線を取ったように、LibreOfficeからフォークしたOpenOfficeが必要だな。

    ここに返信
    • by Anonymous Coward

      OpenSSLからフォークしたLibreSSLがセキュリティ重視路線を取ったように、そのOpenOfficeからフォークしたLibreOfficeが必要だな。

  • by Anonymous Coward on 2019年08月11日 15時52分 (#3667595)

    まず、自ベンダーで無害に思えたlogoのスクリプトであっても、
    マクロ実行の一種では有るのだから「LibreLogoの実行もデフォルトではブロックしましょう。」と誰か突っ込む奴はいなかったんだろうか。
    しかも、イベントハンドラーが有効になっていたのがより悪い。
    コミット時にセキュリティ関連をレビューする人は居なかったのだろうか。

    更に、LibreLogoといった「オマケ」機能を、デフォルト有効化するのは止めましょう。
    そいつは、ライバルのMSが過去にやった悪しき風習で、セキュリティホールの元だぞ。
    最低でも、拡張機能マネージャー等エンドユーザーが簡単に殺せるようにすべきです。

    現状、アンインストールでしか簡単にLibreLogoを止められないような気がしますけど、
    これだと管理者権限が必要になったりしてダメだと思います。
    about:config的な奴で止められるよ!では要求スキルが高すぎてダメです。

    LibreOfficeチームは、我が子可愛さにデフォルト有効を止められない、変な親心でも持ってるんだろうか。
    セキュリティホールはセキュリティホールなんだから、ちゃんと解決するまでLibreLogoを削除するとか、
    文書を開いた後、毎回明示的に有効化しない限り使用できない位の対策を取っても良いと思うのだけど。

    ここに返信
    • by Anonymous Coward

      長いことLibreOffice使ってるけどインストール時の設定は最初にカスタム設定したのを引き継いでいたから「インストーラに含まれているけど標準設定ではインストールされないコンポーネント」だと思ってたわ

    • by Anonymous Coward

      そもそも、LibreLogoの実行でPythonの生スクリプトが動くのがいかんのだよね?

      LibreLogoの言語仕様がいまいちわからんのだが、ドキュメント外に影響を及ぼすものでは無いのだろう。
      であればLibreOfficeの「マクロ」レベルのスクリプト制御は不要としてもいい。
      「Logoプログラムの実行」をクリックしないと実行できないのなら、想定外の起動の懸念要素はほぼ無いだろう。

      しかし…そんなバグ入るかというか、直さ/せないもんなのかってのがどうもわからん。

      • by Anonymous Coward on 2019年08月12日 17時16分 (#3667924)

        そう、その通り。
        LibreLogoがPythonで実装されているからなのか、任意のPythonスクリプトが動いてしまうのが問題。
        Logoが任意のPythonスクリプトが動作するという言語しようなら仕方ないかもしれない。
        でも、だったらVBAマクロのように毎回許可を求めたりするコントロール機能は必要になる。
        でも、現時点ではそんな機能は無い。

        しかも、不味い事にLibreLogoは隠し文字(display:none的なもの)も普通に実行する。
        つまり、無害なLogoスクリプトを表示し、悪意あるPythonスクリプトを隠し文字にしたODF文書を配布してしまえば良い。
        そうすれば、ターゲットは、無害なLogoスクリプトを実行したつもりで、悪意あるスクリプトも実行してくれる。
        といった、かなりヤバイ状況なのに、呑気にLibreLogoの穴をそのままにしてる訳です。

        実は既に悪用されてるかもね。

      • by Anonymous Coward

        LibreLogoがどれくらい古くからあるのか知らんけど、昔のファイルフォーマットはセキュリティ何それおいしいのみたいな感じで平然と任意の外部コマンド実行ができたりすることがあるので(Windows HelpとかPDFとか)「ドキュメント外に影響を及ぼすものでは無い」とかんたんに言い切れないのかもしれない

  • by Anonymous Coward on 2019年08月11日 16時38分 (#3667606)

    なんでオフィスソフトにタートルグラフィックスが必要なのかがよく分からない

    ここに返信
  • by Anonymous Coward on 2019年08月11日 16時40分 (#3667607)

    Libre Officeそのものも起動をブロックしたらいい

    ここに返信
    • by Anonymous Coward

      お知らせ。「LibreOffice」の途中に、スペースは不要です。

typodupeerror

※ただしPHPを除く -- あるAdmin

読み込み中...