Moodle の深刻な脆弱性 CVE-2024-43425 が FIX:PoC がリリースされる

CVE-2024-43425: Moodle Remote Code Execution Vulnerability, PoC Published

2024/08/28 SecurityOnline — 広く使用されている学習管理システムである Moodle に、深刻な脆弱性 CVE-2024-43425 が発見された。この脆弱性の悪用に成功した攻撃者は、影響を受けるサーバ上で任意のコードを実行し、学生の機密データを危険にさらし、世界中の教育機関に混乱をもたらす可能性を手にする。


Moodle には “Calculated Questions” 機能があり、{x} や {y} といったワイルドカードを用いて、教育者が個別の数値質問を作成できるように設計されている。このワイルドカードが質問を受けると、ランダムな値に置き換えられる。これらの質問では、Moodle が正解を計算するために使用する数式を指定することも可能である。しかし、RedTeam Pentesting のセキュリティ研究者が発見したのは、これらの数式をサニタイズする方法に存在する欠陥である。それは、Moodle で数式を処理する PHP eval() 関数へと、質問を渡す前に発生する。

この問題は、サニタイズ・プロセスが不完全であることに起因する。サニタイズ・チェックをバイパスする悪意の入力を作成する攻撃者は、Moodle インスタンスをホストしているシステム上で、任意のコマンド実行を達成できる。それにより、不正なデータ・アクセスから完全なシステム侵害にいたるまでの、さまざまな攻撃シナリオの可能性が生じさらに研究者たちは、脆弱性 CVE-2024-43425 の重大性を示す PoC エクスプロイトも提供している。慎重に作成された数式を使用して計算された、悪意の質問を作成する攻撃者は、Moodle サーバ上でコマンドを実行できる。この PoC では、欠陥を悪用してコースを削除する方法を示し、学習環境の全体を簡単に混乱させるシナリオを効果的に実証している。

すべての Moodle 管理者に対して強く推奨されるのは、最新のパッチ・バージョン 4.1.12/4.2.9/4.3.6/4.4.2 へと遅滞なくアップグレードすることである。さらにシステム管理者は、ユーザー権限を慎重に確認し、コース内で質問を作成/変更できるユーザーを限定する必要がある。なお、直ちにアップグレードすることが不可能な場合には、ファイル “/question/type/calculated/questiontype.php” のサニタイズ関数にパッチを適用して、常に false を返すようにするという方式もある。修正が適用されるまでの間で、計算による質問機能を無効化することも検討してほしい。