В плагине онлайн-курса LearnPress было обнаружено несколько критических уязвимостей, в том числе связанных с внедрением SQL перед аутентификацией и включая локальные файлы. Плагин используется более чем на 100 000 WordPress-сайтов, и пока только 25% владельцев ресурсов установили патчи.
LearnPress — это плагин LMS, который позволяет сайтам WordPress создавать и продавать онлайн-курсы, уроки и викторины, предлагая простой в использовании интерфейс, не требуя от администраторов сайта знания программирования и разработки.
Уязвимости в LearnPress обнаружили эксперты стек патчей в период с 30 ноября по 2 декабря 2022 года, о чем исследователи немедленно уведомили разработчиков плагина. Проблемы были решены 20 декабря 2022 г. с выпуском LearnPress 4.2.0, но согласно статистика WordPress.org, пока только 25% от общего числа сайтов установили исправления. Это означает, что около 75 000 ресурсов все еще используют уязвимые версии LearnPress, подвергая их серьезному риску.
Первой уязвимостью, обнаруженной экспертами PatchStack, стала CVE-2022-47615 — ошибка включения локальных файлов без аутентификации, которая позволяет злоумышленникам просматривать содержимое локальных файлов, хранящихся на веб-сервере. Эта уязвимость может раскрыть учетные данные, токены аутентификации и ключи API, что приведет к дальнейшей компрометации.
Второй критический недостаток (CVE-2022-45808) — это SQL-инъекция без проверки подлинности, которая может привести к раскрытию конфиденциальной информации, модификации данных и выполнению произвольного кода. Уязвимость связана с функцией, обрабатывающей SQL-запросы веб-сайта; он неправильно очищает и проверяет переменную $filter в параметрах запроса, что позволяет злоумышленнику внедрить в нее вредоносный код.

Третья уязвимость, затрагивающая старые версии LearnPress, — CVE-2022-45820. Это еще одна инъекция SQL (на этот раз после аутентификации), обнаруженная в шорткодах двух плагинов (learn_press_recent_courses и Learn_press_featured_courses). Ошибка не позволяет правильно проверить и удалить ввод в переменную $args.
К счастью, использование этой уязвимости ограничено тем фактом, что злоумышленник должен иметь права на редактирование или создание новых сообщений в блоге, чтобы выполнить атаку.
Всем владельцам сайтов, использующих LearnPress, рекомендуется как можно скорее обновиться до версии 4.2.0 или отключить плагин, пока они не смогут установить обновление.