WordPressi hooldus Häkitud saidi puhastus Turvaplugin Hinnad Blogi
Avaleht / Blogi / Kodulehe turvalisus
september 29, 2026

WPFormsi Stripe’i viga võis tagastada võõra makse - mida kontrollida?

Kujuta ette: avad esmaspäeval Stripe’i ja näed, et 240 € tellimus on täies ulatuses tagasi makstud. Sina pole seda teinud. Ka ühe püsikliendi kuu tellimus on lõpetatud, aga e-poe tellimuse märkmetest ei saa aru, miks.

See on väljamõeldud olukord, mitte teade päriselt toimunud ründest. Küll aga näitab see, mida WPFormsi viga CVE-2026-74991 võimaldas. Versioonides 1.8.8.2 kuni 2.0.1.1 sai õige Stripe’i makse ID-ga inimene avaliku maksevormi kaudu käivitada kogu makse tagastuse ja tellimuse tühistamise. Ka siis, kui makse tuli hoopis teisest rakendusest. WPForms parandas vea versioonis 2.0.2.

WPFormsil on üle 5 miljoni aktiivse paigalduse. See ei tähenda, et kõik need lehed oleksid ohus. Määrav on sinu Stripe’i ja maksevormide setup.


Kuidas sai üks vorm võõra makse tagasi maksta?

Mõni kaardimakse vajab lisakinnitust, näiteks pangarakenduses. Pärast kinnitamist saadetakse WPFormsi vorm uuesti teele koos Stripe’i makse ID-ga. See ID algab märkidega pi_.

Teisel saatmiskorral küsis WPForms makse Stripe’ist välja ja võrdles selle summat vormis näidatud summaga. Kui summad ei klappinud, tegi pettusevastane kontroll kogu maksele tagastuse, märkis põhjuseks pettuse ning tühistas tellimuse kohe, kui tegu oli tellimuse maksega. Vormis nägi külastaja teadet: “Irregular activity detected. Your submission has been declined and payment refunded.” Ehk vorm lükati tagasi ja raha tagastati.

Puudu oli üks lihtne kontroll: kas makse kuulus üldse sellele vormile? Avaliku maksevormi täitmiseks polnud vaja sisse logida. Kui keegi teadis mõne teise makse Stripe’i ID-d, sai ta esitada vormi sellest maksest erineva summaga. WPForms jättis enda juba salvestatud maksed selle kontrolli alt välja, nii et murekoht olid eelkõige sama Stripe’i kontot kasutavate teiste rakenduste maksed.

Versioon 2.0.2 vaatab kõigepealt Stripe’i makse juurde salvestatud vormi ID-d. Kui makse ei kuulu sellele vormile, lükatakse vormi esitamine tagasi.


Kas sinu lehe seadistus on mõjutatud?

Ava WPForms > Settings > Payments. Kas Stripe on ühendatud? Kas vähemalt ühes vormis on Stripe’i maksed sisse lülitatud? Vigane kood käivitus ainult selliste maksevormide puhul. Kui kasutad WPFormsi üksnes kontaktivormide jaoks, ei sea see viga sinu makseid ohtu.

Uuenda plugin siiski ära.

Esimesena kontrolliksin näiteks e-poodi, kus WooCommerce võtab kaardimakseid vastu Stripe’i kaudu, aga ettemaksu küsib WPFormsi vorm sama Stripe’i konto kaudu. Sama kontot võivad kasutada broneerimissüsteemid, liikmelisuse pluginad, Stripe’i arved, Payment Links ja eraldi rakendused. Kuutellimused on eriti valus koht: veebikursuse või teenuse kliendi tellimus võis kohe katkeda.

See pole viga, millega saaks suvalisele nupule vajutades raha endale kanda. Ründajal oli vaja Stripe’i makse ID-d, mis pole tavaliselt avalik. CVE-2026-74991 CVSS hinne on 6,8 ehk keskmine; Patchstack märgib selle madala prioriteediga veaks. Samas puudutab see päris makseid - mina uuendaksin täna. WPScan avaldab ründe naidiskoodi üksikasjad 6. oktoobril 2026, mis võib ründe kopeerimise lihtsamaks teha. 29. septembri 2026 seisuga polnud avalikke teateid selle vea ärakasutamisest.

Kui sa ei tea, kas turvahoiatus sinu lehte puudutab, tee läbi see lühike kontroll, kas plugina CVE puudutab just sinu lehte.


Uuenda WPForms kohe ära

Parandus ilmus 22. septembril 2026 ja samal päeval avaldas WPScan ka oma hoiatuse. Muudatuste loendis võis rida “Security hardening for the Stripe payment refund process” armatuurlaua ja AI-vestluse muudatuste vahele lihtsallt ära kaduda. See tähendab Stripe’i maksetagastuse turvakontrolli tugevdamist.

  1. Ava WordPressis Plugins > Installed Plugins. Otsi WPForms üles - olgu sul tasuta WPForms Lite või tasuline WPForms Pro - ja vaata versiooninumbrit.
  2. Kui versioon on 1.8.8.2 kuni 2.0.1.1, uuenda see versioonile 2.0.2 või uuemale. 23. septembril 2026 välja tulnud 2.0.2.1 on 29. septembri seisuga uusim versioon.
  3. Värskenda pluginate lehte, veendu, et number muutus, ja proovi seejärel maksevorm läbi.
  4. Lülita WPFormsi automaatsed uuendused sisse või lepi kellegagi kokku iganädalane kontroll. Kui täna uuendada ei saa, lülita WPFormsi vormides Stripe’i maksed ajutiselt välja või võta vormid avalikult lehelt maha.

Pikale muudatuste loendile ma siin ei loodaks. Haavatavuste kontroll aitab leida sinu kasutatava plugina CVE; WordPressi hoolduse puhul teeb keegi uuenduse ära ja kontrollib pärast ka vormi tööd. Kui sul pole aega seda ise jälgida, on need mõlemad täiesti konkreetsed järgmised sammud.


Vaata üle Stripe’i tagastused, mida sa ise ei teinud

Alusta 22. septembrist 2026 ja mine võimalusel ajas tagasi. Versioon 1.8.8.2 ilmus aprillis 2024. Seega on mõistlik alguspunkt päev, mil paigaldasid mõne mõjutatud versiooni. Stripe muudab vahel vaadete nimetusi ja paigutust; otsi oma kontol neile vastavad kohad.

  • Payments (Transactions): filtreeri tagastatud maksed. Otsi täies mahus tagastusi, mida keegi sinu tiimist ei teinud, eriti kui põhjus on “Fraudulent”. Kontrolli ka WooCommerce’i tellimusi, arveid ja muid makseid, mis ei tulnud WPFormsist.
  • Subscriptions: filtreeri tühistatud tellimused. Kas mõni lõppes kohe pärast tagastust, mida klient ei küsinud?
  • Developers (Events / Logs / Workbench): vaata samade kellaaegade tagastuse ja tellimuse tühistamise sündmusi. Millise ühenduse või API päringu kaudu need tehti - WPFormsi või e-poe oma?
  • Radar > Lists: vaata vaikimisi blokeerimis nimekirju. Stripe’i järgi lisab pettuseks märgitud tagastus sinna nii kaardi sõrmejälje kui ka e-posti aadressi. Eemalda päris kliendid, kes sinna ekslikult sattusid.
  • WooCommerce: võrdle tellimusi Stripe’i maksetega. Kui makse on tagastatud, aga tellimus paistab endiselt tasutud või töötlemisel, uuri seda. Üksi see vastuolu vea ärakasutamist ei tõesta.

Kui sinu lehel võtavad makseid vastu mitu eri WordPressi tööriista, aitab laiemat pilti näha juhend WordPressi turvamisest e-poe maksete puhul. Praegu alusta siiski tagastuste nimekirjast.


Leidsid midagi kahtlast? Tee need sammud

Salvesta kuupäevad, makse ID-d, summad ja kuvatõmmised. Uuenda esmalt WPForms, siis võrdle Stripe’i sündmusi sama aja WPFormsi vormikirjetega. Kahtlane tagastus ei tõesta üksinda, et kasutati just seda viga.

Räägi mõjutatud klientidele selgelt, mis juhtus. Raha läks tagasi algsele kaardile, mitte tagastuse käivitanud inimesele. Stripe’i tagastust tagasi võtta ei saa, seega saada vajadusel uus makse link. Tühistatud Stripe’i tellimust ei saa uuesti aktiveerida - loo uus tellimus. Enne uut maksekatset eemalda ekslikult blokeeritud kliendid Radari vaikimisi nimekirjadest. Kui leiad korduva mustri anna sellest koos kogutud andmetega Stripe’i toele teada.


Üks konto, mitu võimalust makseid vastu võtta

Kui mitu rakendust jagavad ühte Stripe’i kontot, võib ühe vormi nõrk koht mõjutada ka mujal tehtud makseid. Iga väikese e-poe tööriista jaoks eraldi Stripe’i konto tegemine tundub mulle liialdusena. Praktikas on kasulikum teada, mis on kontoga ühendatud, ja vanad ühendused eemaldada.

Täna kontrolli oma WPFormsi versiooni. Siis ava Stripe’is tagastatud maksete nimekiri. Ära lase sildil “keskmine” enda eest otsustada, kas need viis minutit võtta.