Moodle отдаёт файлы H5P тем, кто не вошёл в систему

Moodle

В Moodle нашлась уязвимость в проверке доступа к файлам интерактивного учебного контента H5P. Пользователь без учётной записи открывает материалы, которые ему видеть не положено. Затронуты также файлы скрытых или недоступных элементов курса. Исправления вышли для всех поддерживаемых веток продукта.

Что не так с проверкой прав

H5P - формат интерактивных учебных материалов: тестов, презентаций, видео с заданиями. Файлы такого контента Moodle хранит отдельно от страницы курса. Каждое обращение к ним должно проходить проверку, есть ли у человека доступ к самому курсу или к его модулю. Эту проверку разработчики сделали неполной.

В результате запрос за файлом возвращает содержимое, даже если прав на курс у спрашивающего нет. Логика страницы и логика выдачи файла разошлись. Закрытая страница остаётся закрытой, а лежащий рядом файл отдаётся свободно.

Кто может посмотреть лишнее

Атака идёт по сети, сложность низкая. Учётные данные не нужны, участие пользователя тоже: вход в систему не проверяется. Достаточно отправить запрос за файлом, и сервер его отдаст. Перебрать такие файлы автоматически несложно.

Уязвимость описывают как CWE-862, отсутствие проверки авторизации. Речь не о подделке сессии и не о повышении прав. Права никто не обходит, их просто не спрашивают. Поэтому последствия ограничены раскрытием информации: целостность и доступность не страдают.

Открывается не только сам курс. В описании перечислены материалы, хранящиеся в контексте системы, и файлы модулей, которые скрыты от студентов или недоступны им. Для учебного заведения это могут быть чужие тесты, методички, записи занятий - всё, что авторы считали закрытым.

Оценки и реальные атаки

Сведений об эксплуатации в реальных атаках нет. Дополнение CISA к записи CVE ставит признак эксплуатации в значение none, но отмечает, что атаку можно автоматизировать. Массового использования пока не зафиксировали, а облегчить себе ручную попытку никто не мешает.

Уровень опасности в бюллетене Moodle - Serious. Red Hat в своей оценке ставит Important. Оценка CVSS 3.1 составляет 7,5 из 10, это высокий уровень. Вектор описывает атаку по сети без привилегий и без участия пользователя, с высоким влиянием на конфиденциальность.

Уязвимость обнаружил Jari Vilkman. Запись в трекере - MDL-89547, она называется Missing access checks on H5P content files.

Что делать администратору

Затронуты версии Moodle 4.5 до 4.5.14, 5.0 до 5.0.10, 5.1 до 5.1.7, 5.2 до 5.2.3 и более старые неподдерживаемые сборки. Исправления вышли. Moodle 4.5.15, 5.0.11, 5.1.8 и 5.2.4 закрывают уязвимость. Обновляться нужно до последней версии своей ветки: для линейки 4.5 патч есть, для сборок старше 4.5 его не будет.

Бюллетень безопасности Moodle 482830 от 15 октября 2026 года и уведомление MSA-26-0044 называют одни и те же исправленные версии. Обходных мер в записи CVE не приводят. Единственный способ закрыть доступ - поставить исправление.

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

Ссылки

Комментарии: 0