Elementor Pro версії 4.2.1 та раніші можуть бути скомпрометовані через вразливість неавтентифікованого віддаленого виконання коду (RCE) у полі завантаження файлів віджета Forms; проблему виправлено у версії 4.2.2, тому сайтам, які використовують старий код, слід негайно оновитися.

Що робить цей баг

Вразливість має рейтинг CVSS 9.0, що означає, що зловмисник, який має доступ до вразливого сайту, може виконувати довільний PHP-код на сервері без входу в систему або надання будь-яких облікових даних. Проблема полягає в тому, як Elementor Pro обробляє завантаження файлів у своєму віджеті Forms. Плагін виконує два окремі цикли: один перевіряє кожен завантажений файл, а інший зберігає файл у директорії завантажень, доступній через веб.

Зловмисник може сформувати один запит, що містить два файли. Першому файлу надається порожнє ім'я, через що цикл перевірки пропускає його. Другий файл, шкідливий PHP-скрипт, проходить через другий цикл і записується в публічну папку. Оскільки Elementor Pro називає завантажені файли за допомогою часової мітки, зловмисник може передбачити ім'я файлу і згодом звернутися до нього безпосередньо, щоб запустити код.

Як виникла ця вразливість

Дизайн із двома циклами мав забезпечити незалежність перевірки та зберігання, але відсутність спільної перевірки коректності дозволила обману з порожнім ім'ям спрацювати. Баг впливає на кожну інсталяцію, яка використовує поле завантаження файлів у віджеті Forms, незалежно від того, чи увімкнув власник сайту цю функцію для відвідувачів.

Хто під загрозою

Під загрозою перебуває будь-який сайт WordPress, на якому встановлено Elementor Pro версії 4.2.1 або раніші. Оскільки експлойт не потребує автентифікації, навіть сайти з обмеженим доступом адміністратора є вразливими. Успішна експлуатація дає зловмиснику повний контроль над хостингом, відкриваючи шлях до крадіжки даних, дефейсу сайту або розповсюдження програм-вимагачів.

Що робити зараз

  • Перевірте встановлену версію за допомогою команди WordPress CLI:

    wp plugin list --name=elementor-pro --field=version
    
  • Якщо результат показує 4.2.1 або нижче, негайно оновіться до версії 4.2.2 або пізнішої. Оновлення замінює дефектну логіку завантаження єдиною атомарною процедурою перевірки та збереження, яка блокує обхід через порожнє ім'я.

  • Після оновлення проведіть аудит директорії завантажень на наявність будь-яких PHP-файлів, що відповідають шаблону часової мітки, який використовує плагін, і видаліть їх.

  • Розгляньте можливість вимкнення поля завантаження файлів у публічних формах до застосування патча, особливо на сайтах із високим трафіком.

Контраргумент

Деякі розробники стверджують, що ризик обмежений, оскільки для експлойту потрібно, щоб віджет Forms був налаштований із полем завантаження файлів, доступним публічно. Однак багато сайтів на базі Elementor використовують такі форми для контактів, подачі заявок на роботу або користувацького контенту, що робить цю умову досить поширеною, через що вразливість вважається критичною.

За чим стежити далі

Дослідники безпеки очікують на появу додаткових рекомендацій у міру того, як більше сайтів повідомлятимуть про спроби експлуатації. Стежте за офіційними повідомленнями Elementor та авторитетними базами даних вразливостей на предмет подальших патчів або заходів із пом'якшення наслідків.

Підсумок: Вразливість RCE в Elementor Pro 4.2.1 та раніших версіях — це вектор атаки високої серйозності, що не потребує входу в систему. Оновлення до 4.2.2 є єдиним надійним захистом; зволікання ставить ваш сервер і дані під серйозну загрозу.