Ошибки выполнения кода PHP Everywhere затонули тысячи сайтов на WordPress

Недостатки удаленного выполнения кода имеют критическую серьезность.

alt


Обнародованы критические уязвимости удаленного выполнения кода (RCE) в популярном плагине WordPress. Ошибки RCE влияют на PHP Everywhere, утилиту для веб-разработчиков, позволяющую использовать код PHP на страницах, в сообщениях, на боковой панели или где угодно с блоком Гутенберга – блоками редактора в WordPress – в доменах, использующих систему управления контентом (CMS). Плагин используется более чем на 30 тыс. сайтов.

По данным команды WordFence Threat Intelligence, все три уязвимости в PHP Everywhere приводят к удаленному выполнению кода в версиях программного обеспечения ниже 2.0.3.

Первая уязвимость отслеживается как CVE-2022-24663 и получила оценку серьезности CVSS 9,9.

WordPress позволяет аутентифицированным пользователям выполнять короткие коды с помощью действия AJAX parse-media-shortcode. В этом случае, если пользователи вошли в систему, даже если у них почти нет разрешений, например, если они являются подписчиками, созданный параметр запроса может быть отправлен для выполнения произвольного PHP, что дает возможность полного захвата сайта.

CVE-2022-24664, также получившая оценку серьезности 9,9, является второй уязвимостью RCE, обнаруженной исследователями безопасности. Эта уязвимость была обнаружена в том, как PHP Everywhere управляет метабоксами (перетаскиваемыми полями редактирования) и как программное обеспечение позволяет любому пользователю с возможностью edit_posts использовать эти функции.

«Недоверенные пользователи на уровне участников могут использовать метабокс PHP Everywhere для выполнения кода на сайте, создавая пост, добавляя код PHP в метабокс PHP Everywhere и затем предварительно просматривая пост», сообщает WordFence. «Хотя эта уязвимость имеет тот же балл CVSS, что и уязвимость с коротким кодом, она менее серьезна, поскольку требует разрешений на уровне участника».

Третья уязвимость отслеживается как CVE-2022-24665 и также имеет оценку 9,9 по шкале серьезности. Все пользователи с разрешениями edit_posts могут использовать блоки PHP Everywhere Gutenberg, а злоумышленники могут вмешиваться в функциональность сайта, выполняя произвольный код PHP с помощью этих функций.

Эту функцию можно было установить только для администраторов, но в версиях ПО ниже 2.0.3 это не могло быть реализовано по умолчанию.

4 января WordFence сообщил об уязвимостях разработчику, который быстро разработал набор исправлений. 10 января была выпущена пропатченная версия плагина v.3.0.0.

Разработчик, Александр Фукс, говорит, что обновление вызвало «критическое изменение» из-за необходимого удаления некоторых функций редактора блоков, и поэтому пользователям, столкнувшимся с проблемами, например, если они полагаются на классический редактор, также необходимо обновить старый код в блоки Гутенберга или найти другое решение для запуска PHP.

На момент написания обновились чуть более 30% пользователей, и на многих сайтах все еще используются уязвимые версии плагина.

ZDNet

Обновлено 10.02.2022 18:43