В Essential Addons for Elementor, популярном плагине для WordPress (версии 5.0.4 и старше), который используют более миллиона сайтов, присутствует критическая RCE-уязвимость.
Уязвимость позволяет неавторизованному пользователю выполнить инжект (file inclusion) локального файла, например PHP, для выполнения на сайте произвольного кода.
Эксперты PatchStack, обнаружившие проблему, объясняют, что баг связан с функциями ajax_load_more и ajax_eael_product_gallery. То есть необходимым для атаки условием является наличие на сайте виджетов dynamic gallery и product gallery, чтобы проверка на отсутствие токена отсутствовала.
Уязвимость была выявлена 25 января 2022 года, но к этому времени разработчики плагина уже знали о ее существовании. Изначально они выпустили версию 5.0.3, чтобы решить проблему, применив sanitize_text_field к данным, вводимым пользователям. Однако это не помогло, и вторая попытка исправления бага была представлена в версии 5.0.4, где использовали sanitize_file_name, а также удаление специальных символов.
Увы, второе исправление тоже не сработало, и в итоге, при помощи экспертов PatchStack, вышла версия 5.0.5, в которой была реализована PHP-функция realpath, предотвращающая вредоносные резолвинг pathname.
Исправленная версия, судя по официальной статистике, была установлена около 380 000 раз. Это означает, что 600 000 сайтов по-прежнему уязвимы, а их операторы пока не установили патчи.