WordPress plugin Gravity Forms zneužitý na šírenie škodlivého kódu
Útočníci kompromitovali systémy vývojárov populárneho modulu Gravity Forms pre WordPress a modifikáciou inštalačných súborov zrealizovali útok na dodávateľský reťazec, čím ohrozili všetkých jeho používateľov. Jedná sa o celosvetovo rozšírený plugin, ktorý používajú aj spoločnosti ako Airbnb, Nike, Unicef či Google.
Zraniteľné systémy:
- Modul WordPress Gravity Forms vo verziách 2.9.11.1 a 2.9.12, ktoré boli medzi 9. a 10. júlom 2025 nainštalované prostredníctvom inštalátorov stiahnutých z webovej stránky výrobcu alebo prostredníctvom nástroja composer
Opis útoku:
Útočníci bližšie nešpecifikovaným spôsobom kompromitovali systémy vývojárov a modifikovali inštalačné súbory modulu.
PHP súbor gravityforms/common.php obsahoval škodlivý kód, ktorý zbieral údaje ako metadáta, URL odkazy, cestu k administratívnemu rozhraniu, zoznam inštalovaných tém a modulov a informácie o inštalovanej verzii PHP a redakčného systému WordPress. Uvedené údaje prostredníctvom HTTP požiadaviek POST zasielal na útočníkovu doménu gravityapi[.]org/sites.
Odpoveď útočníkovho servera obsahovala PHP malvér kódovaný prostredníctvom BASE64, ktorý sa do súborov redakčného systému uložil ako wp-includes/bookmark-canonical.php. Malvér sa vydával za modul WordPress Content Management Tools a neautentifikovanému útočníkovi umožňoval vzdialené vykonanie kódu. Útočníkove vstupy sa spúšťali prostredníctvom funkcie EVAL.
Škodlivý kód bol odhalený aj vo funkcii list_sections v rámci includes/settings/class-settings.php, ktorá je volaná v rámci notification.php. Funkcia kontroluje hodnotu premennej $_REQUEST[‘gf_api_token’] a v prípade špecifickej hodnoty vykonáva operácie definované v rámci $_REQUEST[‘gf_api_action’]. Škodlivé operácie umožňujú vytvorenie nových administrátorských účtov, vykonanie škodlivého kódu prostredníctvom funkcie EVAL, nahratie súborov na server, zobrazenie používateľských kont v redakčnom systéme, mazanie používateľov a zobrazenie výpisu súborov na súborovom systéme.
Vývojári škodlivý kód po prijatí hlásenia incidentu odstránili a vydali verziu 2.9.13, ktorá ho už neobsahuje.
Možné škody:
- Vzdialené vykonanie kódu
- Neoprávnený prístup k citlivým údajom
- Získanie úplnej kontroly nad systémom
Odporúčania:
Spoločnosť RocketGenius, ktorá je vývojárom modulu a bezpečnostní výskumníci z Patchstack odporúčajú bezodkladnú reinštaláciu všetkých inštancií modulu, ktoré boli medzi 9. a 10. júlom 2025 inštalované prostredníctvom inštalátorov z webovej stránky alebo prostredníctvom nástroja composer, na verziu 2.9.13.
Rovnako odporúčame preveriť integritu databázy a súborov redakčného systému WordPress a logy CMS, sieťových a bezpečnostných prvkov na prítomnosť indikátorov kompromitácie.
Zdroje:
- https://www.gravityforms.com/blog/security-incident-notice/
- https://patchstack.com/articles/critical-malware-found-in-gravityforms-official-plugin-site/
- https://www.bleepingcomputer.com/news/security/wordpress-gravity-forms-developer-hacked-to-push-backdoored-plugins/
Indikátory kompromitácie:
- 24.245.59[.]0
- 185.193.89[.]19
- 185.243.113[.]108
- 193.160.101[.]6
- 194.87.63[.]219
- gravityapi[.]org
- gravityapi[.]io
- gravityforms/common.php
- hľadajte prítomnosť reťazca gravityapi[.]org a funkcie update_entry_detail
- includes/settings/class-settings.php
- hľadajte prítomnosť funkcie list_sections
- wp-includes/bookmark-canonical.php
- wp-includes/block-caching.php
- volania v tvare:
- /wp-content/plugins/gravityforms_2.9.12/notification.php?gf_api_token=Cx3VGSwAHkB9yzIL9Qi48IFHwKm4sQ6Te5odNtBYu6Asb9JX06KYAWmrfPtG1eP3&action=
- /wp-content/plugins/gravityforms_2.9.11.1/notification.php?gf_api_token=Cx3VGSwAHkB9yzIL9Qi48IFHwKm4sQ6Te5odNtBYu6Asb9JX06KYAWmrfPtG1eP3&action=
- /wp-content/plugins/gravityforms/notification.php?gf_api_token=Cx3VGSwAHkB9yzIL9Qi48IFHwKm4sQ6Te5odNtBYu6Asb9JX06KYAWmrfPtG1eP3&action=