Tutor LMS: уязвимость, дающая контроль над сервером
Прочитал у Wordfence, что в плагине Tutor LMS нашли уязвимость, позволяющую злоумышленнику с доступом как обычного пользователя получить полный контроль над сервером. Она есть в версиях до 4.0.7, затрагивает более 100 тысяч сайтов, и работает через обход проверки прав при сохранении данных о выводе средств. Уязвимость — PHP Object Injection, ведёт к выполнению произвольного кода, и доступен путь даже без аутентификации, если включён режим регистрации студентов. Плагин исправили — вышли версии 4.0.8 и выше. Защита для пользователей Wordfence уже есть, но у остальных — только через обновление.
Считаю, что это серьёзно: уязвимость не требует высоких прав, но даёт полный доступ к серверу. И главное — она срабатывает, если включена регистрация и монетизация. Это типично для образовательных сайтов, и значит, риск у них особенно высок. Многие такие сайты не проверяют, кто у них зарегистрирован, и не следят за тем, что пишут пользователи. Даже если пользователь — обычный студент, он может стать точкой входа.
На мой взгляд, важнее другое: такие уязвимости не появляются из ниоткуда. Это результат сочетания неправильной обработки данных, отсутствия проверки прав и сложной цепочки в коде. Плагин работает с сериализацией, а в WordPress это всегда риск. Ставить обновление — не выбор, а необходимость. И если у клиента стоит Tutor LMS, я уже начал проверять версии.
У себя сделал так: выставил в план на неделю проверку всех сайтов с этим плагином. Начинаю с резервной копии, потом обновляю, проверяю, что всё работает. Если версия ниже 4.0.8 — не откладываю. Уже несколько клиентов с обновлённой версией, и никто не жалуется. Главное — не дожидаться, пока кто-то влезет. Лучше закрыть дыру до того, как её найдут.