
CSRF-вразливість в Elementor дозволяє захопити сайт після кліку адміністратора за посиланням
Вразливість CSRF в Elementor версій 4.3.0 і 4.3.1 має оцінку CVSS 8,8 з 10: одного посилання, яке відкриє авторизований адміністратор, достатньо, щоб зловмисник створив власний адмін-акаунт.
У плагіні Elementor Website Builder для WordPress виявили CSRF-вразливість високого рівня ризику, яка дозволяє неавторизованому зловмиснику створювати підставні адміністраторські акаунти й повністю захоплювати сайт. Вразливість описала компанія Patchstack, що займається безпекою WordPress; її оцінка за шкалою CVSS становить 8,8 з 10, а ідентифікатор CVE поки не присвоєно.
Уразливими є лише версії 4.3.0 і 4.3.1. Плагін активний на понад 10 мільйонах сайтів WordPress, а статистика WordPress.org показує, що тільки ці два випуски встановлено на більш ніж 2 мільйонах сайтів.
Як обходять захист
За даними Patchstack, проблема в модулі Editor Events. Для REST-запитів, автентифікованих через cookie, цей модуль пропускає CSRF-перевірку щоразу, коли в URI запиту будь-де трапляється буквальний рядок "elementor/v1/events/". Оскільки URI містить частину з параметрами, а її пише той, хто складає посилання, будь-який REST-запит може сам вимкнути для себе цей захист, додавши нешкідливий на вигляд параметр.
Перевірка збігається будь-де в адресі, тому обхід охоплює весь REST API сайту: і маршрути ядра WordPress, і маршрути, зареєстровані всіма іншими встановленими плагінами.
Одне посилання і новий адміністратор
"Одне посилання, відкрите авторизованим користувачем WordPress, змушує цього користувача виконати будь-яку дію через REST API, на яку має право його акаунт", заявили в Patchstack. "На стандартному встановленні адміністратор, який натисне посилання, створює для зловмисника другий адміністраторський обліковий запис".
У компанії зазначили, що для атаки не потрібні жодні звичні передумови: ні JavaScript, ні надіслана форма, ні сторінка під контролем зловмисника. Посиланням може бути звичайний теґ anchor у листі, повідомленні чату або коментарі. На стандартному встановленні достатньо запиту до /wp-json/wp/v2/users із зазначенням ролі administrator, щоб створити другий адмін-акаунт.
Виправлено у версії 4.3.2
Проблему усунули в Elementor 4.3.2, що вийшла цього тижня після відповідального розкриття. Випуски до 4.3.0 не містять проксі Editor Events, тому вони не вразливі. Автором знахідки називають дослідника під псевдонімом "Saggre". Користувачам плагіна радять якнайшвидше встановити оновлення.
SiTech — веброзробка з підтримкою AI
Створюємо швидкі та сучасні сайти й інтегруємо AI у бізнес-процеси. Маєте проєкт чи запитання? Із задоволенням допоможемо.