Kodulehe turvalisus

Forminatori kriitiline turvaauk: mida 600 000 WordPressi veebilehte peavad kontrollima

Forminator Forms on kasutusel enam kui 600 000 WordPressi veebilehel. Nüüd avalikustati pluginas kriitiline turvaauk, mille kõige hirmutavam kokkuvõte kõlab nii: sisselogimist pole vaja, ründaja saab faili üles laadida ja halvimal juhul serveris oma koodi käivitada.

Täpne versioon vajab veel minutit.

CVE-2026-15748 sai raskusastmeks 9,8 punkti kümnest. Haavatavad on Forminatori versioonid kuni 1.56.1 ning parandus on versioonis 1.56.2. Ründaja võib avaliku vormi kaudu üles laadida faili, mille plugin peaks tegelikult blokeerima – sealhulgas PHP-faili. Kui see fail jõuab kausta, kus server PHP-d käivitab, võib tulemuseks olla veebilehe täielik ülevõtmine.

See on tõsine. Aga kõik 600 000 paigaldust ei ole ühtemoodi ohus. Vaatame päris tingimused läbi ilma paanikat juurde keeramata.


Vormis peab olema kindel väljade kombinatsioon

Turvaaugu kasutamiseks peab Forminatori vormis olema korraga nii File Upload ehk faili üleslaadimise väli kui ka Select ehk rippmenüü. Ründaja võltsib rippmenüü kaudu saadetavat väärtust nii, et Forminator usaldab failiseadistust, mida ta ei tohiks vastu võtta. Nii saab mööda plugina ohtlike failide kontrollist.

WordPressi kontot pole vaja. Administraator ei pea kahtlast linki avama. Ründaja saadab avaliku vormi nagu tavaline külastaja, ainult et päringut on tahtlikult muudetud.

Kui kasutad Forminatorit üksnes lihtsa nime, e-posti ja sõnumi vormi jaoks, ei vasta sinu vorm sellele konkreetsele tingimusele. Kui kliendid laadivad üles CV-sid, kindlustusdokumente, projektifaile, ekraanipilte või avaldusi ning samas vormis on ka rippmenüü, kontrolli seda kohe. Need on täiesti tavalised väikeettevõtte vormid.

Haavatavuste kontroll peaks leidma plugina vana versiooni. See ei ütle aga, millised väljad konkreetses vormis asuvad. Selle osa peab Forminatoris ise üle vaatama.


Faili üleslaadimine ei tähenda alati koodi käivitamist

Siin on teine tingimus, mis kipub pealkirjadest kaduma. Forminatori vaikimisi üleslaadimiskaustas on kaitse, mis peaks takistama PHP-failide käivitamist. Suurem oht tekib siis, kui kasutusele on võetud Custom File Upload Storage ehk kohandatud üleslaadimiskoht, kus sama kaitset ei pruugi olla.

Teisisõnu võib turvaauk lubada suvalise faili üles laadida, kuid iga õnnestunud üleslaadimine ei muutu automaatselt serveris koodi käivitamiseks. Selleks peab PHP-fail jõudma kohta, kus veebiserver selle ka päriselt käivitab.

See ei tee turvaauku väikeseks. Suvalise faili üleslaadimine on juba iseenesest tõsine probleem ning serverite seadistused erinevad. See tähendab lihtsalt, et riski tuleb kirjeldada täpselt. SecurityWeeki avaldatud tehniliste üksikasjade järgi on kohandatud üleslaadimiskoht kõige selgem tee PHP-koodi käivitamiseni.

Pluginat kasutab üle 600 000 veebilehe. Avalikud versiooniandmed viitasid loo avalikustamise ajal sellele, et ligikaudu pooled kasutasid veel haavatavat versiooni. Õige sõnum ei ole seega „600 000 veebilehte häkiti”. Õige sõnum on, et sajad tuhanded veebilehed peavad ühe versiooninumbri üle kontrollima.


Parandus ilmus enne tehnilist avalikustamist

Forminator 1.56.2 tuli välja juuli lõpus ning muudatuste nimekirjas seisis lühidalt: parandatud suvalise faili üleslaadimise turvaauk. Üksikasjalik tehniline kirjeldus avaldati 17. augustil ja CVE kirje järgmisel päeval.

See järjekord on hea. Tähelepanelikud veebilehe omanikud said plugina uuendada enne, kui ründeviis laiemalt avalikuks muutus. Samas muutub olukord pärast tehnilise kirjelduse avaldamist. Ründaja ei pea viga enam nullist avastama – ta saab võrrelda vana ja parandatud koodi.

19. augusti seisuga pole kinnitatud päris rünnakuid ega avalikku toimivat näidiskoodi. Väga hea. Kasuta seda aega. Oodata seni, kuni botid vorme massiliselt proovivad, oleks märksa kehvem hooldusplaan.

Õppetund on sama nagu hiljutise WordPress 7.0.4 turvauuenduse puhul: turvaparandus on kõige kasulikum enne, kui sinu veebilehest saab järgmine näide.


Mida täna kontrollida?

  1. Kontrolli plugina versiooni. Kui Forminator on 1.56.1 või vanem, uuenda kohe versioonile 1.56.2 või uuemale.
  2. Ava kõik Forminatori vormid. Vaata esimesena üle need, kus on korraga faili üleslaadimise väli ja rippmenüü.
  3. Kontrolli üleslaadimiskohta. Kui kasutad kohandatud kausta, veendu, et seal ei saa PHP-faile käivitada.
  4. Vaata hiljutised failid üle. Otsi Forminatori ja kohandatud üleslaadimiskaustadest tundmatuid .php– või .phtml-faile.
  5. Kontrolli tegevusi. Vaata üle uued administraatorid, hiljuti paigaldatud pluginad ja seletamatud failimuudatused.

Uuendamine on esimene samm, mitte tõend selle kohta, et veebileht oli enne puhas. Kui pahatahtlik fail jõudis serverisse enne paranduse paigaldamist, ei eemalda 1.56.2 seda tagantjärele. Failide terviklikkuse jälgimine võib aidata leida ootamatuid lisandusi ja muudatusi, kui vastav üleslaadimiskaust kuulub kontrolli alla.

Regulaarses WordPressi hoolduses olevatel veebilehtedel peaks see uuendus tavapärasest tööjärjekorrast ettepoole liikuma. Uuenda plugin, kontrolli vormid ja vaata üleslaadimistee üle. Tehtud. Igav tulemus on siin hea tulemus.


Kui leiad midagi kahtlast

Ära kustuta esimest võõrast PHP-faili ja eelda, et töö on valmis. Tee kõigepealt hetkeseisust koopia. Pane kirja faili asukoht ja muutmise aeg. Vaata sama aja serverilogisid ning kontrolli seejärel administraatoreid, pluginaid, ajastatud tegevusi ja teisi muudetud faile.

Meie juhend mida teha kohe, kui kahtlustad veebilehe kompromiteerimist aitab alustada nii, et vajalikud jäljed kogemata ei kaoks. Kui serveris on juba koodi käivitatud, vajab veebileht põhjalikku häkitud WordPressi puhastust, mitte ühe faili kustutamist.

See vahe on tähtis. Veebishell on tavaliselt sissepääs, mitte kogu probleem. Kui ründaja saab PHP-koodi käivitada, võib ta lisada püsiva ligipääsu kohta, millel pole Forminatoriga enam mingit seost.


Lühidalt

Forminator 1.56.1 ja vanemad versioonid sisaldavad kriitilist turvaauku, mis lubab sisselogimata ründajal faili üles laadida. Kõige selgem ründetee vajab vormi, kus on korraga faili üleslaadimise väli ja rippmenüü. Koodi käivitamiseks peab fail jõudma kausta, kus server PHP-d käivitab; eriti hoolikalt tuleb kontrollida kohandatud üleslaadimiskohti.

Uuenda vähemalt versioonile 1.56.2. Kontrolli vormid. Kontrolli üleslaadimiskaustad. Ja tee seda seni, kuni tegu on veel hoiatuse, mitte puhastustööga.