75 000 веб-сайтов на WordPress уязвимы для атак хакеров

75 000 веб-сайтов на WordPress уязвимы для атак хакеров

Всему виной популярный плагин, расширяющий встроенный функционал.

image

LearnPress — это подключаемый модуль системы управления обучением (LMS), который позволяет веб-сайтам на WordPress легко создавать онлайн-курсы, уроки, викторины и тесты. Он предоставляет посетителям веб-сайта удобный интерфейс и не требует знаний программирования от разработчика.

Уязвимости в плагине, используемом на более чем 100 000 активных сайтов, были обнаружены специалистами PatchStack в период с 30 ноября по 2 декабря 2022 года и доведены до сведения поставщика программного обеспечения.

Проблемы были устранены 20 декабря 2022 г. с выпуском LearnPress версии 4.2.0. Однако, согласно статистике WordPress.org, только 25% пользователей обновили плагин до последней версии. Это означает, что примерно 75 000 веб-сайтов до сих пор используют уязвимую версию LearnPress и подвержены атакам злоумышленников.

Активные версии LearnPress

Первой уязвимостью, обнаруженной PatchStack, стала CVE-2022-47615 — уязвимость включения локальных файлов без проверки подлинности (LFI), которая позволяет хакерам отображать содержимое локальных файлов, хранящихся на веб-сервере. Это может привести к раскрытию учетных данных, токенов авторизации и ключей API, что приведет к дальнейшей компрометации.

Уязвимость обнаружена в фрагменте кода, обрабатывающем запросы API для веб-сайта, расположенном в функции list_courses, которая не проверяет должным образом определенные переменные ($template_pagination_path, $template_path и $template_path_item).

Вторая критический уязвимость, CVE-2022-45808 — неаутентифицированная SQL-инъекция, которая может привести к раскрытию конфиденциальной информации, изменению данных и выполнению произвольного кода.

Эта уязвимость заключается в обработке SQL-запросов для веб-сайта, которая неправильно очищает и проверяет переменную «$filter» в параметрах запроса, что позволяет злоумышленнику вставить в нее вредоносный код.

Пример SQL-инъекции

Третьей уязвимостью, затрагивающей более старые версии LearnPress, является CVE-2022-45820 — ошибка внедрения SQL-кода с проверкой подлинности в двух шорткодах плагина («learn_press_recent_courses» и «learn_press_featured_courses»), не позволяющая должным образом проверить и очистить ввод переменной «$ args».

Представители PatchStack уже предоставили PoC-эксплойт, демонстрирующий, как пользователь «Contributor» может инициировать SQL-инъекцию, используя специально созданный шорткод в черновике публикации. Реализовать уязвимость могут только пользователи с возможностью редактировать или создавать новую запись в блоге, что ограничивает риск её применения.

Разработчики LearnPress в последнем обновлении внедрили белый список и очистили уязвимые переменные, убрав возможность включать шаблоны в пользовательский ввод. Владельцам веб-сайтов, использующим LearnPress, рекомендуется либо обновиться до версии 4.2.0, либо временно отключить плагин, пока они не смогут применить доступное обновление для системы безопасности.


Мир сходит с ума, но еще не поздно все исправить. Подпишись на канал SecLabnews и внеси свой вклад в предотвращение киберапокалипсиса!