moodleの脆弱性対応方法につきまして

Re: moodleの脆弱性対応方法につきまして

- Taka Hatt の投稿
返信数: 21

吉田さま

早速のご回答どうもありがとうございます。

HTML上、絶対パスとなっている事を確認できました。

もう一度脆弱性検査を実行致します。

Taka Hatt への返信

Re: moodleの脆弱性対応方法につきまして

- Taka Hatt の投稿

吉田さま、お世話になっております。

MicroFocusの検査でありますが、HTMLソース分析をしているようです。

Moodleの設定ではユーザプロファイルを非表示など、個人情報を含むものは全てOFF設定を行いました。

画面上非表示になっているのですが、HTMLソース上URLが出力されていてURLのクエリストリングにユーザIDがあります。

これを他のIDに変更しても閲覧できなくする設定で回避を行おうとしております。

結果はもう少々お時間を頂きたいと思います。


別途ご教示頂きたいのですが、ロールに関する権限設定を狭めてしまった行った影響で、

コース作成者が概要などの入力時にHTMLエディタが使用できなくなってしまい、常にプレーンテキストのテキストエリアで編集するように

なってしまいました。

HTMLエディタの使用権限を与えるにはどのような権限設定にするべきか、ご教示頂けないでしょうか。

お手数をおかけいたしますがよろしくお願いいたします。


***追伸***

何処かの文献でプリファレンスから設定を行う旨を拝見いたしました。

  1. サイト管理者としてMoodleにログインする。
  2. 「管理 > サイト管理 > アピアランス > テーマ > テーマ設定」にアクセスする。
  3. 「ユーザメニューアイテム customusermenuitems」テキストボックス内の文字をすべて取り除く。

の施策を行っていたため

3.をデフォルト値へ戻したのですが「評定」しか表示されませんでした。

Taka Hatt への返信

Re: moodleの脆弱性対応方法につきまして

- Mitsuhiro Yoshida の投稿
画像 Developers 画像 Particularly helpful Moodlers 画像 Translators

「管理 > サイト管理 > プラグイン > テキストエディタ」の「エディタを管理する」画面で「利用可能なテキストエディタ」の「Yes」カラムはすべて有効 (目が開いたアイコン) にされた状態でしょうか?

添付 Manage editors.png
Mitsuhiro Yoshida への返信

Re: moodleの脆弱性対応方法につきまして

- Taka Hatt の投稿

吉田さま

早速のご連絡をどうもありがとうございます。

はい、目のアイコンは開いております。

添付 screen.png
Taka Hatt への返信

Re: moodleの脆弱性対応方法につきまして

- Taka Hatt の投稿

吉田さま


>***追伸***

>3.をデフォルト値へ戻したのですが「評定」しか表示されませんでした。

本件大変失礼いたしました。

もう一度ユーザメニューアイテム customusermenuitemsを設定したところ右上のMenuすべて表示されました。

>何処かの文献でプリファレンスから設定を行う旨を拝見いたしました。

無知で大変申し訳ないのですが、正しい認識でしょうか。

プリファレンスページにアクセスると、空白となってしまい諸処プリファレンスリンクが表示されないようになっています。この現象も権限設定が影響しているのでしょうか。

Taka Hatt への返信

Re: moodleの脆弱性対応方法につきまして

- Mitsuhiro Yoshida の投稿
画像 Developers 画像 Particularly helpful Moodlers 画像 Translators

その「何処かの文献」をご提示頂けましたら、問題箇所を見極めることができやすくなると思います。

> プリファレンスページにアクセスると、空白となってしまい諸処プリファレンスリンクが表示されないようになっています。この現象も権限設定が影響しているのでしょうか。

もし、プログラムを修正されているのでしたら、「権限設定」よりも、プログラム修正の方が原因となる場合が多いのではないでしょうか。

Taka Hatt への返信

Re: moodleの脆弱性対応方法につきまして

- Taka Hatt の投稿

吉田さま

言葉足らずで済みませんでした。

プリファレンスページのプログラムはインストールの状態から変更しておりません。

参考文献は下記を閲覧しておりました。

https://mahakala.lesc.uec.ac.jp/mahoodle/moodle/docs/33/ja/Main_Page/Managing_a_Moodle_course/Editing_text/Formatting_text.html


Taka Hatt への返信

Re: moodleの脆弱性対応方法につきまして

- Mitsuhiro Yoshida の投稿
画像 Developers 画像 Particularly helpful Moodlers 画像 Translators

ありがとうございます。

「プリファレンスページにアクセスると、空白となってしまい諸処プリファレンスリンクが表示されないようになっています」とのことですが、ウェブブラウザに表示されるページすべてが空白になっていますでしょうか?

また、プリファレンスページへのアクセス時にウェブサーバ (ISS) のログに何らかのエラーは出力されていませんでしょうか?
 

Mitsuhiro Yoshida への返信

Re: moodleの脆弱性対応方法につきまして

- Taka Hatt の投稿

吉田さま

ご回答ありがとうございます。


>「プリファレンスページにアクセスると、空白となってしまい諸処プリファレンスリンクが表示されないよう>になっています」とのことですが、ウェブブラウザに表示されるページすべてが空白になっていますでょ>うか?

はい、空白のページとなっております。

HTMLソースには各種リンクが記載されておりますが画面上は空白です。

このページですが、一瞬リンクのようなものが表示されます。"F5"キーを押してブラウザを更新するとかすかに諸処プリファレンスリンクが表示されますがブラウザ上は空白となります。

>また、プリファレンスページへのアクセス時にウェブサーバ (ISS) のログに何らかのエラーは出力され>ていませんでしょうか?

はい。エラーは出力されておりませんでした。

直接ブラウザのアドレスに、http://xxxxxx/seminart/user/editor.php?id=xx と指定すると

エディタプリファレンス画面は開くことができます。


このプリファレンスページと、プラグインのエディタはあまり関連がないのでしょうか。

今このサイトで入力しているテキストエディタが表示されると幸いでございます。



Taka Hatt への返信

Re: moodleの脆弱性対応方法につきまして

- Mitsuhiro Yoshida の投稿
画像 Developers 画像 Particularly helpful Moodlers 画像 Translators

> このプリファレンスページと、プラグインのエディタはあまり関連がないのでしょうか。

関係は薄いと思います。

「プリファレンス」ページが空白になるトラブルを解消するため、下記4つの方法をお試しになってはいかがでしょうか。

  • ウェブブラウザのキャッシュをクリアする。
  • 別のウェブブラウザを試してみる。
  • Moodleの「管理 > サイト管理 > アピアランス > テーマ > テーマセレクタ」ページで「テーマキャッシュをクリアする」ボタンをクリックしてMoodleのキャッシュをクリアする。
  • Moodleの「管理 > サイト管理 > アピアランス > テーマ > テーマセレクタ」ページでMoodleのテーマを変えてみる。

Mitsuhiro Yoshida への返信

Re: moodleの脆弱性対応方法につきまして

- Taka Hatt の投稿

吉田さま

ご回答ありがとうございます。

>関係は薄いと思います。

ありがとうございます。施策を試してみたいともいます。(=>色々試してみたのですが空白のままでした。以前より空白でしたので現状の機能をしようする範囲では空白のままで差支えない範囲と判断いたしました。)


また、テキストエディタが正常に機能(表示)しない件はどのあたりを調査するのが良いか

ご教示いただけないでしょうか。

他の人々にヒアリングを行ったのですが、以前はこのフォーラムのようなテキストエリアのように表示されていたとのことでした。


何卒よろしくお願いいたします。

Taka Hatt への返信

Re: moodleの脆弱性対応方法につきまして

- Mitsuhiro Yoshida の投稿
画像 Developers 画像 Particularly helpful Moodlers 画像 Translators

ユーザのパーミッションに関わる設定を変更しただけでプリファレンス画面が空白になるとは考え難いため、非標準プラグインまたはWAF (Web Application Firewall) が影響していると思われます。

非標準プラグインを無効にするか、WAFの動作を一旦停止してプリファレンス画面が空白になるか確認されても宜しいかと思います。

また、「テキストエディタが正常に機能(表示)しない」に関しましては「管理 > サイト管理 > 開発 > デバッグ」ページで下記設定にすることで原因を特定できるエラーメッセージが表示される場合があります。

  • デバッグメッセージ debug = DEVELOPER: 開発者のための特別Moodleデバッグメッセージ
  • デバックメッセージを表示する debugdisplay = 有効

Mitsuhiro Yoshida への返信

Re: moodleの脆弱性対応方法につきまして

- Taka Hatt の投稿

吉田さま
お世話になっております。

テキストエディタが本来表示される画面にてブラウザのDevToolを立ち上げて観察していたところ
以下の様に404エラーが生じておりました。

>Failed to load resource: the server responded with a status of 404 (Not Found)
https://xxxxx/seminarp/theme/yui_combo.php/3.17.2/handlebars-compiler/handlebars-compiler-min.js&m/1512978560/core/handlebars/handlebars-min.js&3.17.2/timers/timers-min.js&3.17.2/querystring-stringify/querystring-stringify-min.js&m/1512978560/editor_atto/editor/editor-min.js&m/1512978560/editor_atto/menu/menu-min.js&m/1512978560/editor_atto/plugin/plugin-min.js&m/1512978560/atto_collapse/button/button-min.js&m/1512978560/atto_title/button/button-min.js&m/1512978560/atto_bold/button/button-min.js&m/1512978560/atto_italic/button/button-min.js&m/1512978560/atto_unorderedlist/button/button-min.js&m/1512978560/atto_orderedlist/button/button-min.js&m/1512978560/atto_link/button/button-min.js&m/1512978560/atto_image/button/button-min.js&m/1512978560/atto_media/button/button-min.js&m/1512978560/atto_managefiles/button/button-min.js&m/1512978560/atto_underline/button/button-min.js&m/1512978560/atto_strike/button/button-min.js&m/1512978560/atto_subscript/button/button-min.js
https://xxxxx/seminarp/theme/yui_combo.php/m/1512978560/atto_superscript/button/button-min.js&m/1512978560/atto_align/button/button-min.js&m/1512978560/atto_indent/button/button-min.js&3.17.2/arraylist/arraylist-min.js&3.17.2/widget-parent/widget-parent-min.js&3.17.2/widget-child/widget-child-min.js&3.17.2/tabview-base/tabview-base-min.js&3.17.2/node-focusmanager/node-focusmanager-min.js&3.17.2/tabview/tabview-min.js&3.17.2/array-extras/array-extras-min.js&m/1512978560/atto_equation/button/button-min.js&m/1512978560/atto_charmap/button/button-min.js&m/1512978560/atto_table/button/button-min.js&m/1512978560/atto_clear/button/button-min.js&m/1512978560/atto_undo/button/button-min.js&m/1512978560/atto_accessibilitychecker/button/button-min.js&m/1512978560/atto_accessibilityhelper/button/button-min.js&m/1512978560/atto_html/button/button-min.js
https://xxxxx/seminarp/theme/yui_combo.php/3.17.2/datatype-xml-parse/datatype-xml-parse-min.js&3.17.2/io-xdr/io-xdr-min.js&3.17.2/io-form/io-form-min.js&3.17.2/io-upload-iframe/io-upload-iframe-min.js&3.17.2/queue-promote/queue-promote-min.js&3.17.2/io-queue/io-queue-min.js&3.17.2/event-mousewheel/event-mousewheel-min.js&3.17.2/event-resize/event-resize-min.js&3.17.2/event-hover/event-hover-min.js&3.17.2/event-touch/event-touch-min.js&3.17.2/event-move/event-move-min.js&3.17.2/event-flick/event-flick-min.js&3.17.2/event-valuechange/event-valuechange-min.js&3.17.2/event-tap/event-tap-min.js&3.17.2/event-simulate/event-simulate-min.js&3.17.2/node-event-html5/node-event-html5-min.js&3.17.2/async-queue/async-queue-min.js&3.17.2/gesture-simulate/gesture-simulate-min.js&3.17.2/node-event-simulate/node-event-simulate-min.js&m/1512978560/core/notification/notification-confirm-min.js&m/1512978560/editor_atto/rangy/rangy-min.js&3.17.2/handlebars-base/handlebars-base-min.js

>Uncaught TypeError: Cannot read property 'Editor' of undefined
>    at editsection.php?id=1506&sr:803
>    at YUI._notify (yui-moodlesimple-min.js:9)
>    at YUI.T (yui-moodlesimple-min.js:9)
>    at e.Loader._finish (yui-moodlesimple-min.js:16)
>    at e.Loader._onFailure (yui-moodlesimple-min.js:16)
>    at e.Loader.p (yui-moodlesimple-min.js:17)
>    at e.Loader.onFailure (yui-moodlesimple-min.js:17)
>    at s._finish (yui-moodlesimple-min.js:12)
>    at s._next (yui-moodlesimple-min.js:12)
>    at s._progress (yui-moodlesimple-min.js:13)

物理Pathを見てみたのですが
theme\yui_combo.php\の下に"3.17.2"や"m" のディレクトリは存在していませんでした。


以前にMicrofocusより脆弱性を指摘されていた「スタイルシートの指定が絶対パスになっていない」
の対処方法として、

>Moodle設定ファイル (config.php) に下記設定行を追加してください。
>$CFG->yuislasharguments = 1;

をご教示頂いておりました。
もしかしてこの影響があるのではないかと思い
>$CFG->yuislasharguments = 1;
をコメントアウトしたところ、本来のテキストエディタを表示することが可能となりました。
どうもお騒がせ致しました。

ところで、このconfig設定を元に戻すことにより、スタイルシートが絶対パスではなくなってしまうため
再度MicroFocusの脆弱性に引っかかってしまう事になりそうです。
お手数をお掛けいたしますが、別の手段はございますでしょうか。

なにとぞ宜しくお願い致します。

Taka Hatt への返信

Re: moodleの脆弱性対応方法につきまして

- Mitsuhiro Yoshida の投稿
画像 Developers 画像 Particularly helpful Moodlers 画像 Translators

もし、MicroFocusに例外設定のようなものがあれば、スタイルシートの部分だけを脆弱性チェックから外されてはいかがでしょうか。

Mitsuhiro Yoshida への返信

Re: moodleの脆弱性対応方法につきまして

- Taka Hatt の投稿

吉田さま

承知致しました。

「相対パス」を「絶対パス」へ変更を行う設定は、ご教示いだたいたconfig.phpへの変数設定以外には

Moodle上に機能を持ち合わせていないとの認識で宜しかったでしょうか。

Taka Hatt への返信

Re: moodleの脆弱性対応方法につきまして

- Mitsuhiro Yoshida の投稿
画像 Developers 画像 Particularly helpful Moodlers 画像 Translators

「管理 > サイト管理 > サーバ > HTTP」ページに「スラッシュ引数を使用する slasharguments」という設定項目はあります。

Mitsuhiro Yoshida への返信

Re: moodleの脆弱性対応方法につきまして

- Taka Hatt の投稿

吉田さま

ご案内ありがとうございます。デフォルトのまま(ON)となっておりました。

Moodleアプリケーションの構造上の修正は不可能という事でしょうか。

以前ご教示頂いた

>Moodle設定ファイル (config.php) に下記設定行を追加してください。
>$CFG->yuislasharguments = 1;

にて「絶対パスになっていない」の脆弱性は対応可能でした。

その副作用として分かっている範囲では

・テキストエディタが正常に表示されない

・コースの"編集"、"活動またはリソースを追加する"のリンクが張られていない (FireFox以外に出現する)

・FireFoxで、"活動またはリソースを追加する"からファイルリソースを選択後の画面でのアップロードができないクルクルが表示されたまま

が分かっております。他のMoodleアプリケーションで「絶対パス」に関しての脆弱性は検知されておりませんでしょうか。

Taka Hatt への返信

Re: moodleの脆弱性対応方法につきまして

- Mitsuhiro Yoshida の投稿
画像 Developers 画像 Particularly helpful Moodlers 画像 Translators
Mitsuhiro Yoshida への返信

Re: moodleの脆弱性対応方法につきまして

- Taka Hatt の投稿

吉田さま

ご教示下さりどうもありがとうございました。

$CFG->yuislasharguments=1

の記述は、config-dist.phpの中に記載がありました。


Moodle TrackerのJIRAにて、$CFG->yuislasharguments=1するとの弊害をレポートすることにより

ディスカッションを行っていただけるのでしょうか。


よろしくお願いいたします。


Taka Hatt への返信

Re: moodleの脆弱性対応方法につきまして

- Taka Hatt の投稿

吉田さま

スタイルシートの絶対パス化を実現しようと思い、関連PHPを調査しておりました。


app\Lib\outputrequirementslib.phpの

function get_yui3lib_headcss()の

$code .= '<link rel="stylesheet" type="text/css" href="'.$this->yui3loader->local_comboBase.'rollup/'.$CFG->yui3version.'/yui-moodlesimple' . $yuiformat . '.css" />';

の'.$this->yui3loader->local_comboBase.'rollup/部を絶対パスに置き換えてみました。


$CFG->yuislashargumentsは使用しなくてもスタイルシートは絶対パスへ、その他の部分はシステム依存に出来るかと思った次第です。

テストを行っていますが今のところ問題なく稼働しております。

Taka Hatt への返信

Re: moodleの脆弱性対応方法につきまして

- Mitsuhiro Yoshida の投稿
画像 Developers 画像 Particularly helpful Moodlers 画像 Translators

> Moodle TrackerのJIRAにて、$CFG->yuislasharguments=1するとの弊害をレポートすることによりディスカッションを行っていただけるのでしょうか。

はい、数日以内に必ずということは難しいかと思いますが、何らかのアクションが取られると思います。

投稿される際は「Security Level」を「None」から別のレベルに変更してください。また、MicroFocus社の製品を使用されている点も記述された方が宜しいかと思います。

添付 moodle tracker.png