WordPress устранил 0-day, связанный с WP_HTML_Token: так хакеры могли выполнять произвольный код

WordPress устранил 0-day, связанный с WP_HTML_Token: так хакеры могли выполнять произвольный код

Окончательно обезопасить свой сайт можно лишь немедленной установкой обновления.

image

WordPress, наиболее популярная система управления контентом, используемая более чем на 800 миллионах сайтов, выпустила обновление до версии 6.4.2. Это обновление устраняет zero-day уязвимость, позволяющую выполнять произвольный PHP-код на целевом веб-сайте.

Обнаруженная командой безопасности проекта уязвимость связана с техникой программирования, ориентированной на свойства (Property Oriented Programming, POP), которая появилась в ядре WordPress версии 6.4. Эта уязвимость в определённых условиях может привести к выполнению произвольного PHP-кода.

Особенностью POP-цепи является необходимость контроля атакующим всех свойств десериализованного объекта, что возможно благодаря функции PHP unserialize(). Это может привести к перехвату потока приложения путём контроля значений, отправляемых в так называемые магические методы, такие как «_wakeup()».

Для успешной реализации атаки на целевом сайте необходимо наличие уязвимости инъекции объектов PHP, которая может присутствовать, например, в плагине или надстройке темы.

Эксперты по безопасности WordPress из Wordfence предоставили дополнительные технические подробности. Проблема связана с классом «WP_HTML_Token», введённым в WordPress 6.4 для улучшения разбора HTML в редакторе блоков. Этот класс содержал магический метод «__destruct», который использовал «call_user_func» для выполнения функции, определённой в свойстве «on_destroy» с аргументом «bookmark_name».

Атакующий, используя уязвимость инъекции объектов, мог бы контролировать эти свойства для выполнения произвольного кода.

Деструктор класса, который условно выполняет функцию обратного вызова

Хотя уязвимость сама по себе не критична, наличие эксплуатируемой POP-цепи в ядре WordPress значительно увеличивает общий риск для сайтов на его основе.

По данным PatchStack, цепочка эксплойтов для данной проблемы несколько недель назад была загружена на GitHub и позднее добавлена в библиотеку PHPGGC, используемую для тестирования безопасности PHP-приложений.

Исследователи рекомендуют администраторам обновиться до последней версии WordPress несмотря на то, что для эксплуатации уязвимости необходимы определённые условия. Администраторам веб-сайтов критически важно своевременно устранять любые риски безопасности, чтобы не оставить хакерам не малейшей возможности для атаки.

Цифровые следы - ваша слабость, и хакеры это знают.

Подпишитесь и узнайте, как их замести!