В популярной системе Moodle, в версиях до 3.2.1, была обнаружена уязвимость (CVE-2017-2641), которая позволяет злоумышленнику выполнять PHP-код на уязвимом сервере Moodle. Выполнение кода происходит только при наличии прав администратора, которые можно получить через SQL-инъекцию.

Moodle - популярная система управления обучением, которая используется во многих университетах по всему миру, включая такие высшие учебные заведения, как MIT, Стэндфордский университет, Кембриджский университет и Оксфордский университет, хранит много важной информации, такой как оценки, тесты и личные данные учащихся.

Злоумышленник может получить права администратора, из-за того, что в программном коде не было предусмотрено, что обычный пользователь будет пытаться получить доступ к базе данных из личного кабинета. Получив базу, злоумышленник может c помощью config-файла и применения многострочных комментариев вида "/ ** /" и повысить привилегии в веб-приложении изменив параметр id в site_admins.

Пример эксплуатации:

SELECT ... WHERE table_name = 'config / *'table_name LIKE '% config'
ORDER BY ordinal_position
UPDATE config / * 'table_name LIKE'% config SET field = '* / SET value = our_user_id WHERE name = site_admins-- WHERE id =' [ID] '

В результате выполнение абсолютно любого кода через веб-приложение будет происходить от имени администратора без какой-либо фильтрации.

Эта уязвимость была устранена в Moodle v3.2.2

Использование Web Application Firewall позволяет блокировать подобные атаки.