Уязвимост в популярния плъгин Elementor Pro за WordPress позволява качване на изпълними PHP файлове на сървъра, изпълняване на произволни команди и в крайна сметка поемане на пълен контрол над сайта. Според оценката на Wordfence, Elementor Pro се използва на повече от 6 милиона сайта.
Въпросната уязвимост, обозначена като CVE-2026-32475 засяга Elementor Pro 4.2.1 и по-ранни версии. Wordfence е присвоила на уязвимостта оценка 9,8 от 10 по скалата CVSS. За да бъде осъществена атака, на сайта трябва да е публикуван формуляр на Elementor Pro с поне едно незадължително поле за качване на файл (File Upload).
Причината се крие в проверката на качваните файлове. Elementor Pro обработва съдържанието на полето като масив и последователно проверява всеки елемент. Ако първият предаден файл е празен, функцията открива липса на данни и напълно прекъсва проверката, вместо да премине към следващия елемент от масива. По този начин хакерът поставя PHP файла като втори елемент. Проверката на разширението и типа на съдържанието вече не стига до него, но друга функция на Elementor Pro продължава обработката на масива и запазва файла на сървъра. В резултат на това атакуващият получава възможност да постави уеб шел и да изпълнява команди от името на уеб сървъра.
Пример за злонамерена PHP заявка
Каченият файл се записва в директорията „/wp-content/uploads/elementor/forms/“ с произволно генерирано име, но запазва разширението .php, зададено от злонамерения потребител. При директно достъпване до такъв файл сървърът изпълнява злонамерен код. Поправка на уязвимостта беше пусната на 19 август в Elementor Pro 4.2.2. Атаките започнаха същия ден, като най-голяма активност се наблюдаваше в периода от 19 до 23 август. Wordfence вече е блокирала над 190 000 опита за експлоатация на уязвимостта.
На администраторите се препоръчва да инсталират Elementor Pro 4.2.2 или по-нова версия и да проверят директорията „/wp-content/uploads/elementor/forms/“. Наличието на какъвто и да е PHP файл в него се счита за сериозен признак за компрометиране. Също така е добре да се прегледат логовете на уеб сървъра за заявки към „/wp-admin/admin-ajax.php“ с параметър „elementor_pro_forms_send_form“. Предоставя се и списък с IP адреси, от които са били извършени хиляди атаки, за да могат защитниците да ги добавят към списъците си с блокирани адреси.
2602:fa59:10:7a1::1 Над 28 000 блокирани заявки. 185.196.220.85 Над 23 800 блокирани заявки. 103.84.230.85 Над 23 600 блокирани заявки. 103.90.148.202 Над 15 300 блокирани заявки. 216.126.225.208 Над 15 000 блокирани заявки. 167.254.240.75 Над 8100 блокирани заявки. 167.254.241.119 Над 7700 блокирани заявки. 114.10.17.253 Над 6100 блокирани заявки. 114.10.45.151 Над 5700 блокирани заявки. 2406:ef80:2:7d19::1 Над 4800 блокирани заявки.