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

Rünnak, mis ootab varukoopia taastamist

Kujuta ette, et ründaja jätab täna sinu WordPressi saidile kaks väikest lõksu. Koduleht ei lähe katki, e-pood võtab tellimusi vastu ja turvahoiatust ei tule. Kõik näib täiesti tavaline.

Nädalaid hiljem ekspordib administraator selle saidi andmed .wpress-arhiivi. Veel hiljem impordib ta arhiivi või taastab sellest saidi, kasutades sama haavatavat pluginat. Just see import või taastamine võib varem talletatud pahatahtliku sisu käivitada. CVE-2026-19949 on salakaval seepärast, et oht ei avaldu andmete istutamise ega ekspordi hetkel, vaid alles siis, kui administraator proovib lehte taastada.

Kui All-in-One WP Migration and Backup on sinu saidil olemas, on praktiline otsus lihtne: uuenda see versioonile 7.110 või uuemale enne järgmist eksporti, importi või taastamist. Mitte pärast. Enne.


Mis tegelikult ootele jääb?

Esimese sammu jaoks ei vaja ründaja WordPressi kasutajakontot. Eeltingimus on avalik postitus, mis võtab vastu trackback’e. Seejärel saab ründaja saata sellele kaks spetsiaalselt koostatud trackback’i, mille väärtused salvestatakse andmebaasi.

Midagi suurt ei pea kohe juhtuma. Ohtlik sisu lihtsalt ootab. Kui administraator teeb ekspordi, kannab All-in-One WP Migration talletatud väärtused .wpress-arhiivi. Eksport ise SQL-süsti ei käivita. Päästikuks saab alles hilisem import või taastamine versiooniga 7.109 või vanemaga: plugina otsi-ja-asenda töötlus käsitleb istutatud väärtusi ning neist võib saada niinimetatud teise järgu SQL-süst.

See kõlab tehniliselt, kuid mõte on üsna argine: rämps pannakse ühte sahtlisse, liigub sealt arhiivi ning hoopis hilisem usaldatud taastamisprotsess teeb selle ohtlikuks. Varukoopia taastamine on sellise protsessi jaoks eriti halb moment. Tavaliselt tehakse seda siis, kui uuendus läks untsu, kolimine venib või e-pood peab enne esmaspäeva jälle tööle saama.


Kuidas SQL-süst võib viia koodi kaugkäivituseni?

Kirjeldatud SQL-süst võib paljastada All-in-One WP Migrationi väärtuse ai1wm_secret_key. CVE kirjelduse järgi võib juurdepääs sellele võtmele võimaldada koodi kaugkäivitust All-in-One WP Migrationi autentimist mittevajava impordikontrolleri kaudu.

Detailsem raport kirjeldab ühe võimaliku teena spetsiaalselt koostatud .wpress-arhiivi importi, kus arhiiv sisaldab pahatahtlikku must-use pluginat. MU-plugin asub tavaliselt kataloogis wp-content/mu-plugins/ ja WordPress laadib selle automaatselt. Kui võõras PHP-kood sinna jõuab ning käivitub, võib ründaja saada võimaluse serveris käske täita.

See kirjeldab võimalikku RCE mõju, mitte sõltumatut kinnitust, et päris rünnakus on pahatahtlik import juba toimunud. 2. septembri seisuga pole sellist aktiivset ärakasutamist kinnitatud.

See ei ole siiski ühe nupuvajutusega rünnak. Praktiliseks õnnestumiseks peavad järjest kokku langema mitu tingimust:

  • avalik postitus peab võtma vastu trackback’e ja kaks pahatahtlikku väärtust peavad jõudma andmebaasi;
  • administraator peab mürgitatud saidi andmed .wpress-arhiivi eksportima;
  • sama arhiiv tuleb hiljem importida või sellest sait taastada versiooniga 7.109 või vanemaga;
  • RCE-ni jõudmiseks peab õnnestuma ka salavõtme ja kirjeldatud impordikontrolleriga seotud edasine ahel.

Seepärast annab CVE haavatavusele küll kõrge CVSS hinde 8.8, aga Patchstack peab praktilist prioriteeti madalaks ja ärakasutamist ebatõenäoliseks. Need hinnangud ei vaidle tingimata omavahel: võimalik lõpptulemus on raske, teekond selleni aga võrdlemisi kohmakas.

Tehnilised versiooniandmed ja paranduse viide on kirjas Wordfence’i haavatavuse kirjes.


Viis miljonit paigaldust ei tähenda viit miljonit haavatavat saiti

All-in-One WP Migration and Backupil on üle 5 miljoni aktiivse paigalduse kõigi versioonide peale kokku. Seda numbrit ei tohi tõlgendada nii, nagu oleks praegu haavatavad kõik viis miljonit veebilehte. Mõjutatud on versioon 7.109 ja sellest vanemad.

Parandus tuli versioonis 7.110 välja 20. augustil. Avalikustamine järgnes 24.-25. augustil, nii et kiiresti uuendanud saidid sulgesid selle ründetee juba enne loo laiemat levikut.

2. septembri seisuga pole kinnitatud aktiivset ärakasutamist, usaldusväärset avalikku PoC-d ega kirjet CISA Known Exploited Vulnerabilities ehk KEV nimekirjas. See on hea uudis. Pole vaja kuulutada kõiki .wpress-arhiive nakatunuks või varukoopiaid paanikas kustutada.

WordPressi haavatavuse skanner aitab leida vana plugina versiooni. Samas ei tõesta versioonikontroll, kas kaks koostatud trackback’i jõudsid andmebaasi, liikusid ekspordiga arhiivi ja käivitasid hiljem haavatava impordi või taastamise ajal SQL-süsti. Need on kaks eri küsimust.


Mida teha enne järgmist importi või taastamist?

  1. Kontrolli plugina versiooni. Kui see on 7.109 või vanem, uuenda versioonile 7.110 või uuemale enne eksporti, importi, kolimist või taastamist.
  2. Eemalda plugin, kui sa seda ei kasuta. Kunagi ühe kolimise jaoks paigaldatud tööriist ei pea e-poes aasta ringi aktiivne olema.
  3. Säilita varukoopiad. See haavatavus ei tähenda, et kõik olemasolevad arhiivid on pahatahtlikud, seega ära kustuta neid pimesi.
  4. Pane taastamised kirja. Salvesta kuupäev, kasutatud arhiiv ja plugina versioon. Hiljem on sellest päris palju abi.

Regulaarse WordPressi hoolduse sees peaks selline versiooniuuendus toimuma enne plaanitud migratsiooni, mitte töö käigus poole pealt. Uuendus sulgeb haavatava tee edaspidiseks. Aga see ei reisi ajas tagasi ega tõesta, et varem midagi ei juhtunud.

Võltsuuendus võib ise olla järgmine probleem, seega laadi plugin ainult ametlikust allikast. Oleme sellest kirjutanud eraldi loos võltsitud pluginate ja teemade uuenduste kohta.


Kui taastasid varukoopia versiooniga 7.109 või vanem

Ära alusta failide kustutamisest. Kõigepealt hinda, kas ründeahel oli sinu saidil üldse võimalik: kas avalik postitus võttis trackback’e vastu, kas kaks koostatud trackback’i võisid saabuda, kas saidi andmed eksporditi seejärel .wpress-arhiivi ning kas administraator importis või taastas selle arhiivi hiljem versiooniga 7.109 või vanemaga?

Kui vastus võib olla jah, tee enne puhastamist hetkeseisust koopia ja alusta triaažist. Säilita kahtlane arhiiv, kuid ära testi seda tootmiskeskkonnas. Arhiivi võib uurida või sellest taastada ainult isoleeritud keskkonnas ja parandatud tarkvaraga.

Vaata vähemalt neid kohti:

  • WordPressi administraatorid ja hiljuti loodud kasutajad;
  • wp-content/mu-plugins/ ning seal olevad tundmatud failid;
  • hiljuti muudetud PHP-failid pluginate, teemade ja üleslaadimiste hulgas;
  • andmebaasi kahtlased kirjed ning veebi- ja serverilogid;
  • ootamatud ajastatud ülesanded, ümbersuunamised ja uued ligipääsuvõtmed.

Säilita kahtlaste failide ajatemplid ja koopiad. Liiga hoogne puhastamine võib ainsad jäljed ära rikkuda. Meie juhend mida teha kohe pärast WordPressi häkkimist aitab esimesed sammud õiges järjekorras teha.

Kui leiad tundmatu administraatori, pahatahtliku MU-plugina või PHP-koodi, mida seal olla ei tohiks, käsitle saiti kompromiteerituna. Siis ei piisa ainult migratsiooniplugina eemaldamisest. Häkitud veebilehe puhastus peab katma WordPressi tuuma, pluginad, teemad, üleslaadimised, andmebaasi ja ligipääsud – muidu jääb tagauks alles ja probleem tuleb tagasi. Pärast tõendite talletamist ja puhastust vaheta asjakohased paroolid ning võtmed ja tühista aktiivsed seansid.


Rahulik, aga õiges järjekorras

CVE-2026-19949 veider point on viivitus. Ründaja võib kaks trackback’i täna andmebaasi istutada, administraatori eksport kannab väärtused .wpress-arhiivi ning SQL-süst käivitub alles siis, kui seda arhiivi hiljem versiooniga 7.109 või vanemaga imporditakse või taastatakse. Eksport üksi seda ei käivita.

Kontrolli seega All-in-One WP Migrationi versiooni juba praegu. Uuenda 7.110 või uuemale enne eksporti, importi või taastamist, eemalda kasutamata plugin ning ära eelda automaatselt, et kõik varukoopiad on nakatunud. Kui kogu ahel võis juba toimuda, tee hetkeseisust koopia, säilita arhiiv ja kogu jäljed enne puhastamist.

Ei mingit paanikat. Lihtsalt õige järjekord – esmalt uuendus, siis turvaline taastamine.