Премиум-плагін Gravity Forms для WordPress став мішенню масштабної атаки на ланцюг поставок, внаслідок якої офіційні дистрибутиви були інфіковані шкідливим кодом. Інцидент вплинув на понад мільйон веб-ресурсів, включаючи сайти провідних світових брендів: Airbnb, Nike, ESPN, Unicef та Google. Цей випадок демонструє критичну вразливість навіть найбільш довірених джерел програмного забезпечення.
Виявлення загрози та початкове розслідування
Фахівці компанії PatchStack стали першими, хто зафіксував аномальну поведінку плагіна після отримання повідомлень про підозрілі мережеві запити. Детальний аналіз виявив присутність шкідливого коду в файлі gravityforms/common.php, який ініціював POST-запити до домену gravityapi[.]org/sites.
Зловмисний код здійснював систематичний збір чутливих метаданих з інфікованих сайтів. До переліку викрадених даних входили URL-адреси, шляхи до адміністративних панелей, інформація про встановлені теми, активні плагіни та версії PHP/WordPress. Усі зібрані дані передавались зловмисникам через зашифровані канали зв’язку.
Технічний механізм роботи бекдора
У відповідь на надіслані дані сервер атакуючих повертав шкідливий PHP-код у форматі base64, який автоматично зберігався як wp-includes/bookmark-canonical.php. Цей файл маскувався під стандартні інструменти управління контентом WordPress і надавав зловмисникам можливість віддаленого виконання коду без автентифікації.
Бекдор використовував спеціалізовані функції handle_posts(), handle_media() та handle_widgets() для отримання повного контролю над скомпрометованими веб-сайтами. Окрім цього, шкідливий код блокував спроби оновлення плагіна та створював приховану адміністративну обліковку, забезпечуючи постійний доступ до заражених ресурсів.
Хронологія та масштаб інциденту
Компанія RocketGenius, розробник Gravity Forms, підтвердила, що компрометації зазнали лише версії 2.9.11.1 та 2.9.12, доступні для ручного завантаження протягом 10-11 липня 2025 року. Користувачі, які встановлювали версію 2.9.11 через Composer у зазначений період, також отримували інфіковану копію плагіна.
Важливо зазначити, що служба Gravity API, відповідальна за ліцензування та автоматичні оновлення, залишалась безпечною. Це означає, що автоматичні оновлення, керовані цією службою, не становили загрози протягом усього інциденту.
Стратегії виявлення та усунення загрози
Експерти з кібербезпеки рекомендують адміністраторам, які завантажували Gravity Forms у зазначений період, негайно переустановити плагін, використовуючи чисту версію з офіційного джерела. Необхідно провести ретельну перевірку веб-сайтів на наявність ознак зараження.
Критично важливо здійснити пошук файлу bookmark-canonical.php у директорії wp-includes/, перевірити список користувачів на наявність підозрілих адміністративних облікових записів та проаналізувати серверні логи на предмет незвичайної активності. Рекомендується також змінити всі адміністративні паролі та провести комплексне сканування на наявність шкідливого програмного забезпечення.
Цей інцидент підкреслює зростаючу загрозу атак на ланцюг поставок у сфері веб-технологій. Навіть найбільш довірені джерела можуть стати векторами атак, що вимагає від адміністраторів постійної пильності та впровадження багаторівневих систем захисту. Регулярний моніторинг мережевого трафіку, аудит встановленого програмного забезпечення та швидке реагування на підозрілу активність стають критично важливими елементами сучасної стратегії кібербезпеки.