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, либо временно отключить плагин, пока они не смогут применить доступное обновление для системы безопасности.

Ньютон уронил яблоко. Мы роняем челюсти!

Гравитация научных фактов сильнее, чем вы думаете

Подпишитесь и испытайте интеллектуальное падение