Разработчики WordPress выпустили патч для исправления RCE-уязвимости в своей CMS. Хотя под управлением WordPress работают около 43% всех интернет-сайтов, эта уязвимость вряд ли подвергнется массовым атакам, так как она затрагивает только новейшие версии WordPress, требует установки определенных плагинов или использования функции multisite.
RCE-баг был устранен в WordPress версии 6.4.2, и сообщается, что его можно связать с другой уязвимостью, позволяющей злоумышленникам запускать произвольный PHP-код на целевом сайте.
«Это уязвимость удаленного выполнения кода, которую невозможно использовать напрямую в ядре. Однако наша команда безопасности считает, что существует вероятность серьезного риска в сочетании с некоторыми плагинами, особенно при использовании multisite», — сообщают разработчики.
Как объясняют специалисты Wordfence, все началось с того, что разработчики выявили проблему в цепочке Property Oriented Programming (POP), появившуюся в ядре WordPress 6.4 (то есть уязвимость опасна только для WordPress версий 6.4 и 6.4.1). При определенных условиях эта проблема позволяет выполнить произвольный PHP-код.
Корень проблемы кроется в классе WP_HTML_Token, который появился в WordPress 6.4 и используется для улучшения парсинга HTML в редакторе блоков. Он включает в себя магический метод __destruct, который автоматически выполняется после того, как PHP обработает запрос. Этот метод call_user_func для выполнения функции, переданной через on_destroy, принимая в качестве аргумента свойство bookmark_name.
В итоге злоумышленник, способный использовать уязвимость типа object injection, получит полный контроль над свойствами on_destroy и bookmark_name, и сможет использовать это для выполнения произвольного кода на сайте, то есть захватит контроль над ресурсом.
Хотя уязвимость сама по себе не является критической, (в силу необходимости внедрения объектов в установленные и активные плагины или темы) наличие уязвимой цепочки POP в ядре WordPress значительно увеличивает общий риск для сайтов, работающих под управлением этой CMS. Поэтому специалисты рекомендуют администраторам как можно скорее обновиться до последней версии WordPress.
Эксперты компании Patchstack, специализирующейся на безопасности WordPress, и вовсе отмечают, что цепочка эксплоитов для этой проблемы еще несколько недель назад была загружена на GitHub, а затем добавлена в библиотеку PHPGGC, которая используется при тестировании PHP-приложений.