В популярной системе 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 позволяет блокировать подобные атаки.