CVE-2018-1133 Moodle 3.4.1 – 遠程執行注入漏洞

  • 2019 年 10 月 7 日
  • 筆記

exploit-db網站在3.15日掛出了一個Moodle<3.5版本的一個遠程程式碼執行漏洞,如下所示:

必須為攻擊者分配教師角色。通過使用由moodle評估的精心設計的數學公式,攻擊者繞過了一個內部安全機制,該機制阻止惡意命令的執行。

漏洞出現在question/type/calculated/questiontype.php文件中:

Moodle允許教師設置一個包含許多類型問題的測驗。其中一個是計算問題,它允許教師輸入一個數學公式,該公式將由moodle對隨機輸入變數進行動態評估。這可以防止學生作弊,並簡單地分享他們的結果。例如,教師可以鍵入「Y」中添加了什麼?答案公式為x+y。然後Moodle將生成兩個隨機數,並將它們插入問答文本中的佔位符x和y(比如3.9+2.1)。最後,它將通過對公式輸入調用安全敏感的php函數eval()來評估答案6.0,因為它允許執行任意的php程式碼。

為了強制只使用無害的PHP程式碼,Moodle的開發人員引入了一個驗證器函數qtype_calculated_find_formula_errors(),它在危險的eval()調用之前調用,目的是檢測教師提供的公式中的非法和惡意程式碼。

Moodle環境對PHP和MySQL環境有要求,請參考官方步驟進行

參考資訊:

https://www.exploit-db.com/exploits/46551

https://github.com/moodle/moodle

https://docs.moodle.org/36/en/Installation_quick_guide

https://blog.ripstech.com/2018/moodle-remote-code-execution/

https://github.com/moodle/moodle/archive/v3.4.1.zip