Недостаточная изоляция токенов в официальном мобильном приложении Moodle позволяет злоумышленнику получить доступ к токенам веб-сервисов других сайтов, которые пользователь ранее настроил в приложении. Разработчики уже выпустили исправление версии 5.2.1, закрывающее проблему.
Детали уязвимости
Уязвимость, получившая идентификатор MAPP-26-0001 (CVE пока не присвоен), была обнаружена исследователем Wai Han и описана в бюллетене безопасности Moodle от 22 июля 2026 года. Проблема затрагивает официальное мобильное приложение Moodle, а также любые приложения, построенные на его кодовой базе. Брендированные приложения, которые подключаются только к заранее заданному списку сайтов, не подвержены риску.
Суть уязвимости заключается в том, что при входе пользователя в приложение на одном сайте Moodle приложение может прочитать из защищённого хранилища токены для других сайтов, которые пользователь уже сконфигурировал ранее. Если злоумышленник обманом заставит пользователя перейти по специально созданной глубокой ссылке (deep-link) и войти в подконтрольный ему вредоносный сайт Moodle, это позволит атакующему извлечь токен веб-сервиса для других сайтов жертвы. В результате возможен несанкционированный доступ к данным и действиям от имени пользователя на этих сайтах.
Уровень опасности уязвимости оценён разработчиками как "серьёзный" (Serious). Для эксплуатации требуется взаимодействие пользователя - переход по вредоносной ссылке и вход на подставной сайт. Однако при успешной атаке злоумышленник получает токен, который обычно используется для аутентификации API-запросов, что даёт широкие возможности: чтение курсов, личных сообщений, оценок, а в некоторых случаях - выполнение действий от имени пользователя.
Проблема затрагивает все версии официального мобильного приложения Moodle до 5.2.0 включительно, а также более старые неподдерживаемые сборки. Разработчики выпустили версию 5.2.1, в которой токены для разных сайтов изолированы надлежащим образом. Для защиты пользователей администраторам сайтов Moodle рекомендуется в разделе "Администрирование сайта" → "Общие" → "Аутентификация мобильного приложения" установить параметр "Требуемая минимальная версия приложения" на значение 5.2.1. Это вынудит пользователей обновить приложение перед тем, как они смогут подключиться к сайту.
Кроме того, пользователям настоятельно рекомендуется обновить мобильное приложение Moodle до последней доступной версии (5.2.1 или новее). Разработчики подчёркивают, что брендированные корпоративные приложения, которые подключаются к фиксированному списку доверенных сайтов, не подвержены данной уязвимости, поскольку в них отсутствует функционал добавления произвольных сайтов.
Уязвимость MOODLE-5071 (внутренний трекер) была исправлена в коммитах, доступных в репозитории проекта на GitHub. Разработчики поблагодарили исследователя Wai Han за ответственное раскрытие информации. Дата первой публикации бюллетеня - 23 июля 2026 года.
Подобные проблемы с изоляцией токенов между разными сервисами в мобильных приложениях встречаются нечасто, но их последствия могут быть серьёзными, особенно в образовательных учреждениях, где Moodle используется для хранения конфиденциальных учебных данных и результатов аттестации. Администраторам следует не только обновить серверную часть, но и обеспечить информирование пользователей о необходимости обновления мобильного приложения.
В целом, рекомендации по устранению уязвимости сводятся к обновлению клиентского приложения и настройке минимальной версии на стороне сервера. Меры временного обхода проблемы не предусмотрены - единственный способ защиты - установка патча и принудительное блокирование подключений от старых версий приложения.
Ссылки