Skip to main content

Gravity Forms -lisäosan tietomurto paljasti WordPressin toimitusketjun haavoittuvuuden

11.–12. heinäkuuta 2025 toteutettu kyberhyökkäys WordPressin suositun Gravity Forms -lisäosan kehittäjää vastaan mahdollisti takaovella varustettujen lisäosien leviämisen tuhansille sivustoille. Haitallinen koodi tarjosi hyökkääjälle pääsyn järjestelmään ilman autentikointia ja mahdollisti mm. ylläpitotilien luomisen, tiedon varastamisen ja etäkomentojen suorittamisen palvelimella.

Toimitusketjuhyökkäys virallista latauskanavaa vastaan

Patchstackin tietoturvatutkijat saivat 11. heinäkuuta ilmoituksen poikkeuksellisista toiminnoista Gravity Forms -lisäosassa. Tarkemmassa tutkimuksessa paljastui, että virallisilta GravityForms.com-sivustolta manuaalisesti ladattuihin versioihin 2.9.11.1 ja 2.9.12 oli lisätty haittakoodia.

Kyseessä oli klassinen toimitusketjuhyökkäys: haitallinen tiedosto (common.php) muodosti yhteyden ulkopuoliseen gravityapi.org-domainiin, keräsi laajaa metatietoa (sivuston URL, teemaversiot, käytössä olevat lisäosat, PHP- ja WordPress-versiot) ja vastaanotti komentopalvelimelta base64-koodattua PHP-koodia, joka tallennettiin wp-includes/bookmark-canonical.php -tiedostoon.

Haittakoodi pystyi suorittamaan eval-funktion avulla mielivaltaista koodia, ja se oli upotettu toimintoihin, jotka pystyttiin ajamaan ilman käyttäjän autentikointia – merkittävä tietoturvariski mille tahansa WordPress-sivustolle.

Kuka oli vaarassa – ja kuka ei?

RocketGenius, Gravity Formsin kehittäjä, julkaisi nopeasti tapahtuman jälkeen virallisen tiedotteen. Siinä he vahvistavat, että vain manuaaliset lataukset versioista 2.9.11.1 (9.–10. heinäkuuta) ja 2.9.12 (10. heinäkuuta) olivat saastuneita. Automaattisten päivitysten tai lisäosien asentaminen suoraan Gravity Forms -hallintanäkymän kautta ei koskaan altistanut käyttäjiä haittakoodille. Sama koskee ennen tai jälkeen mainittuja päivämääriä tehtyjä latauksia.

Lisäksi composer-asennuksissa kyseisenä ajankohtana käytetyt versiot sisälsivät myös takaoven.

Haittaohjelman toiminnot: takaovia, estoja ja täydellinen hallinta

Asennetun haittaohjelman toiminta oli monivaiheinen:

  • Se esti lisäosan päivitysyritykset.

  • Se muodosti yhteyden ulkopuoliseen palvelimeen ja haki lisäkuormia.

  • Se loi uuden ylläpitotilin, joka antoi hyökkääjälle täyden pääsyn WordPress-sivustoon.

  • Se mahdollisti uusien komentojen suorittamisen ja potentiaalisen lisäinfektion laajentamisen muihin sivuston osiin tai käyttäjiin.

IP-osoitteet ja domainit, joihin haittakoodi otti yhteyksiä, on nyt estetty ja niihin liittyviä verkkopalveluja on suljettu yhteistyössä rekisteröijien kanssa.

Miten tunnistaa ja puhdistaa saastunut sivusto

Jos käyttäjä epäilee asentaneensa saastuneen version lisäosasta, RocketGenius ja turvallisuusorganisaatiot suosittelevat tarkistamaan sivuston erityisten URL-pyyntöjen kautta:

swift
{oma_domain}/wp-content/plugins/gravityforms/notification.php?...&action=ping

Jos vastaus sisältää viitteen gf_api_action -virheeseen, on todennäköistä, että lisäosa on ollut haitallinen ja sivusto saastunut.

Puhdistustoimenpiteet ovat seuraavat:

  1. Palauta varmuuskopio – Paras keino on palauttaa varmuuskopio ennen 9.7.2025 tehtyä asennusta.

  2. Poista saastunut lisäosa – Poista vain lisäosan tiedostot, älä käytä “Uninstall” -toimintoa, joka voi poistaa datan.

  3. Lataa ja asenna puhdas versio – Gravity Forms 2.9.13 on saatavilla puhtaana versiona kehittäjän sivustolta.

  4. Estä yhteydet haittadomaineihin ja IP-osoitteisiin – Estä palomuuritasolla tai tietoturvalisäosilla.

RocketGenius suosittelee lisäksi seuraavia toimenpiteitä:

  • Tarkista käyttäjätilit ja ylläpitotilit – Poista tuntemattomat käyttäjät.

  • Tarkista muut lisäosat – Haittakoodi on saattanut levitä muihin komponentteihin.

  • Käytä turvallisuusratkaisuja kuten Wordfence tai Patchstack aktiivisesti.

  • Tarkista palvelimen lokit tunkeutumisen jälkien varalta.

Tilanteen jälkipuinti ja kehittäjän toimet

RocketGeniusin mukaan kaikki tallennuspalvelujen avaimet ja salasanat on vaihdettu, lisäosien hallintapalvelun API-avaininfrastruktuuria on päivitetty ja kaikki hallintatilit auditoitu. Gravity Forms 2.9.13 julkaistiin nopeasti vastauksena kriisiin.

Kehittäjä on ilmoittanut tapauksesta myös haittaohjelmia valvoville viranomaisille ja CVE-organisaatioille, ja tekee aktiivisesti yhteistyötä tietoturvatutkijoiden kanssa.

Johtopäätös: kriittinen muistutus toimitusketjuhyökkäysten todellisuudesta

Tämä tapaus toimii esimerkkinä siitä, miten laajasti käytetyt lisäosat voivat muodostua tietoturvariskiksi, jos niiden jakeluketjuun päästään käsiksi. Vaikka haittaohjelma levisi vain rajoitetusti, sen vaikutus on vakava – miljoonia WordPress-sivustoja hyödyntävä lisäosa tarjosi hyökkääjälle täydet oikeudet ilman autentikointia.

Gravity Forms on WordPressin maksullinen lisäosa, jonka avulla voi luoda helposti monipuolisia lomakkeita, kuten:

  • yhteydenottolomakkeita

  • maksulomakkeita (esim. Stripe, PayPal)

  • kyselyitä ja rekisteröintilomakkeita

  • tiedonkeruulomakkeita ja automaattisia työnkulkuja

Lisäosa tunnetaan erityisesti joustavuudestaan, laajennettavuudestaan ja hyvästä integraatiotuesta muihin järjestelmiin (esim. CRM, sähköpostimarkkinointi, Zapier).

Ketkä käyttävät Gravity Formsia?

Gravity Forms on käytössä yli miljoonalla WordPress-sivustolla. Asiakaskuntaan kuuluu mm. suuryrityksiä, oppilaitoksia ja järjestöjä, mm:

  • Airbnb

  • Nike

  • Google

  • Yale University

  • ESPN

  • UNICEF

Miksi se on suosittu?

  • Laaja ominaisuusvalikoima: tuet monimutkaisille lomakerakenteille, laskennallisille kentille, tiedostojen latauksille, maksuille ym.

  • Hyvä kehittäjä-API: sopii myös IT-tiimeille ja verkkokehittäjille, jotka haluavat räätälöidä toiminnallisuuksia.

  • Luotettava brändi ja tuki: kehittäjä RocketGenius on tunnettu ja tarjoaa kattavan dokumentaation ja asiakastuen.

  • Yritystason laajennukset ja automaatiot: tärkeää etenkin suurille sivustoille ja verkkopalveluille.

Gravity Formsia suositaan erityisesti liiketoimintasivustoilla ja ammattimaisissa WordPress-projekteissa, joissa tarvitaan tehokasta ja turvallista lomakedataa.