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

Ürituse kommentaar võis viia serveri ülevõtmiseni - uuenda The Events Calendari pluginat

Ootel kommentaar ei olnudki ohutu

Keegi jätab sinu ürituse lehele kommentaari. Sina seda heaks ei kiida, tavakülastajad seda ei näe ja kommentaar jääb rahulikult modereerimise ootele. Tundub, nagu oleks asi kontrolli all.

Seekord ei olnud. Kahe kriitilise haavatavusahela tõttu võis ründaja oma ootel kommentaari kaudu WordPressi saidi ja lõpuks isegi serveri üle võtta. Üks rada võimaldas käivitada serveris operatsioonisüsteemi käske, teine muuta administraatori parooli ning seejärel pahatahtliku plugina paigaldada.

Kontot polnud vaja. Kommentaari heakskiitu samuti mitte. Ja administraator ei pidanud ühtegi kahtlast linki vajutama.

Kui sinu kodulehel on The Events Calendar, vaata kohe versiooni kõiki nelja osa. Mõlema vea ühine turvaline siht on 6.17.4.1 või uuem. Versioon 6.17.4 ei ole piisav.


Miks modereerimine siin ei kaitsnud

Asi on selles, et ootel kommentaar pole selle saatja jaoks täiesti nähtamatu. WordPress annab kommenteerijale modereerimisräsi sisaldava eelvaatelingi, mille kaudu saab ta oma modereerimise ootel kommentaari vaadata. Kommentaari ei pea selleks avaldama.

The Events Calendari V2 üritusemall tegi järgmise sammu. Mall puhverdab kogu ürituse lehe koos kommentaaridega ja laseb tulemuse läbi WordPressi funktsiooni do_blocks(). Kui ootel kommentaari sisse oli pandud spetsiaalselt koostatud wp:legacy-widget plokimärgend, jõudis võõras kommentaar vidinate töötlemise loogikasse.

Lihtsamalt öeldes: kommentaarina sisestatud tekst sai minna masinavärki, mis on mõeldud lehe plokkide ja vidinate töötlemiseks. See piir ei tohiks niimoodi kaduda.

Mõlemad avaldatud ründeteed eeldasid korraga järgmist seadistust:

  • tribe_events tüüpi üritustel olid WordPressi kommentaarid lubatud;
  • The Events Calendari valik Show comments on event pages oli sisse lülitatud ning kommentaarid olid ürituse lehel nähtavad.

Kui ürituste kommentaarid olid keelatud või plugin neid lehel ei näidanud, ei töötanud kirjeldatud teed avaldatud kujul. See on hea uudis, aga versiooni uuendamist see ära ei jäta.


Kaks eri teed sama halva tulemuseni

Tegu pole ühe vea kahe nimega. Need on kaks sõltumatut autentimiseta RCE-ahelat, mõlema CVSS skoor on 9.8. Wordfence avaldas 14. septembril mõlema The Events Calendari turvaahela tehnilise kirjelduse, kus on avaldatud ka PoC tehnilised üksikasjad.

CVE-2026-78006 puudutab versioone kuni 6.17.4 kaasa arvatud. Selle raja puhul viis legacy-widget’i töötlemine PHP objektisüstini: ebaturvaline deserialiseerimine ja väljakutsutav käitumine lubasid ahela lõpuks serveris operatsioonisüsteemi käske käivitada. See pole enam katkine ürituse kirjeldus või tüütu spämm. Mõju ulatub serverini.

CVE-2026-78159 puudutab versioone kuni 6.17.3 kaasa arvatud. Teine rada ei vajanud sama objektinippi, vaid kasutas tavalise PHP massiivi kaudu funktsiooni väljakutsumist. Wordfence’i PoC kutsus välja wp_update_user(), millega muudeti administraatori parool. Pärast seda saab ründaja administraatorina sisse logida, plugina paigaldada ja sedasi koodi käivitamiseni jõuda.

Tehnilised teed on erinevad. Tulemus ettevõtte jaoks on sisuliselt sama: võõras inimene saab saidil teha asju, mida peaks saama teha ainult sinu usaldatud administraator.


600 000 paigaldust ei tähenda 600 000 haavatavat saiti

The Events Calendaril on üle 600 000 aktiivse paigalduse kõigi versioonide peale kokku. See number näitab plugina ulatust, mitte haavatavate kodulehtede arvu. Kõik need saidid ei kasutanud vana versiooni ja kõigil polnud ürituste kommentaarid nähtavad.

17. septembri seisuga on tehnilised üksikasjad avalikud. Samas ei ole Wordfence’i algses raportis kinnitust massilise ärakasutamise kohta ning kumbki CVE ei ole CISA Known Exploited Vulnerabilities nimekirjas. Seega ei maksa väita, et rünnakud juba massiliselt käivad. See ei tähenda siiski, et uuendusega võiks järgmise hoolduspäevani oodata.

WordPressi haavatavuste kontroll aitab vana pluginaversiooni kiiresti üles leida. Aga pelgalt versioon ei ütle kas sinu üritustel olid kommentaarid nähtavad või kas ründaja jõudis enne uuendust mõne sellise kommentaari eelvaate kaudu haavatavust ära kasutada. Selle jaoks tuleb vaadata seadistust ja jälgi.


Mida täna ära teha

  1. Uuenda The Events Calendar versioonile 6.17.4.1 või uuemale. Kui mõjutatud versioon ja nähtavad üritusekommentaarid kattusid, tee enne uuendamist allpool kirjeldatud tõendite hetktõmmis. 6.17.4.1 ilmus 10. septembril ja oli 17. septembri seisuga WordPress.org-is praegune versioon. Kontrolli neljaosalist numbrit - 6.17.4 on endiselt ühe ahela suhtes haavatav.
  2. Testi pärast uuendust ürituse lehti. Vaata üle kommentaarid, kalender, piletimüük ja broneerimisvoog. E-poe või tasuliste ürituste puhul tee enne varukoopia ja võimalusel prooviuuendus testkeskkonnas.
  3. Kui kohe uuendada ei saa, sulge ajutiselt mõlemad kommentaariteed. Keela kommentaarid tribe_events üritustel ning lülita välja Show comments on event pages. See vähendab riski, kuid ei asenda turvauuendust.
  4. Ära lükka kontrolli nädala lõppu. Avalikud PoC detailid muudavad viivitamise kehvaks panuseks. Pikem selgitus on meie loos miks WordPressi uuendusi ei tohi edasi lükata.

Kui varukoopia, pluginakontroll ja järeltest kipuvad klienditöö vahele kaduma, aitab regulaarne WordPressi hooldus need tegevused päriselt kalendrisse saada. Mitte ainult heade kavatsuste nimekirja.


Kui ohtlik seadistus oli kasutusel, säilita jäljed

Kas saidil oli 6.17.4 või vanem versioon ajal, mil ürituste kommentaarid olid nähtavad? Ära alusta spämmikausta tühjendamisest, ootel kommentaaride kustutamisest ega logide puhastamisest. Tee esmalt failidest ja andmebaasist hetktõmmis ning säilita kommentaarid koos olemasolevate veebi-, tulemüüri-, turva- ja sisselogimislogidega.

Esimesed sammud häkitud WordPressi puhul algavad samal põhjusel tõendite hoidmisest, mitte hoogsast kustutamisest. Seejärel kontrolli vähemalt järgmist:

  • ootel ja rämpsuks märgitud kommentaarid tribe_events üritustel, eriti sisu, kus leidub wp:legacy-widget;
  • uued või muudetud administraatorid, paroolimuudatused ja tundmatud aktiivsed sessioonid;
  • äsja lisatud, aktiveeritud või asendatud pluginad, millel puudub selge äriline põhjus;
  • muudetud PHP-failid pluginates, teemades, wp-content/uploads-kaustas ja muudes kirjutatavates kohtades;
  • ootamatud WordPressi cron-tööd, serveri cron-kirjed ning kahtlase kommentaari ajaga kattuvad logides kajastuvad päringud.

Siin on väike, kuid tähtis vahe: turvauuendus sulgeb teadaoleva ukse. See ei eemalda juba loodud administraatorit, paigaldatud pahatahtlikku pluginat ega mõnda PHP-faili peidetud tagaust.


Uuendus parandab vea, mitte varasemat sissemurdmist

Kui kontrollist tuleb välja võõras administraator, uus plugin või muudetud PHP, käsitle lehte võimaliku intsidendina. Häkitud WordPressi puhastamine peab vaatama tervikut: failid, andmebaas, kasutajad, sessioonid, cron ja serveri jäljed. Säilita esmalt tõendid ja puhasta sait; seejärel vaheta asjakohased paroolid ja WordPressi turvasoolad ning sulge aktiivsed sessioonid.

Selle loo ebamugav järeldus on lihtne. Kommentaar ei pidanud kunagi avalikuks saama, sest kommenteerija eelvaatelink suutis tema enda ootel sisu juba renderdada. Modereerimine polnud siin turvakiht.

Kontrolli versiooni, uuenda vähemalt 6.17.4.1 peale ja vaata üle kas ohtlik seadistus oli varem kasutusel. Kui oli, säilita enne ja uuri siis. Kiire kustutamine võib jätta ekraani puhtaks, kuid teha juhtunu uurimise palju raskemaks.