Rank Math SEO PRO 3.0.123 pahavara: miks iga tund loeb
Sisukord
Kui sinu WordPressi lehele paigaldati ja aktiveeriti Rank Math SEO PRO 3.0.123 ajavahemikus 15.10 kell 23:02 kuni 16.10 kell 10:12 (Eesti aja järgi), tuleb lehte käsitleda häkituna. See kehtib ka siis, kui plugin on praeguseks juba uuendatud.
Lühidalt
- Mõjutatud: osa Rank Math SEO PRO 3.0.123 pakke, mis laaditi alla või paigaldati uuendusega 15.10 kell 23:02 kuni 16.10 kell 10:12. Tasuta Rank Mathi see juhtum ei puuduta.
- Puhas versioon: 3.0.124. See vahetab plugina välja, aga ei eemalda seda, mis pahavara serverisse maha jättis.
- Mida teha: taasta varundus enne 15. oktoobrit ja vaheta kõik paroolid ning võtmed. Kontroll-loend on allpool.
Meie enda kodulehel kasutas ründaja tagaust 20 tundi pärast uuendust ja enne, kui juhtum oli avalikult teada. Allpool on kirjas, mis juhtus, kuidas oma lehte kontrollida ja mida kohe teha.
Mis juhtus
Tegu on tarneahelarünnakuga. Ründajad muutsid Rank Math SEO PRO 3.0.123 levitatavaid pakke, nii et osa kliente sai pahavara kätte ametliku uuenduse kaudu. Nakatunud pakke jagati 15.10 kell 20:02 kuni 16.10 kell 07:12 UTC ehk Eesti aja järgi 23:02 kuni 10:12.
Rank Math eemaldas nakatunud pakid levitusest, avaldas puhta versiooni 3.0.124 ja saatis mõjutatud klientidele hoiatuse. Juhtum on registreeritud tunnusega CVE-2026-111862, raskusaste on kriitiline (CVSS 9,8/10). Wordfence’i ja Rank Mathi soovitus on sama: kui nakatunud versioon oli sinu lehel aktiivne, käsitle lehte kompromiteerituna. Loe Wordfence’i hoiatust ja Rank Mathi ametlikku juhendit.
Kõige keerulisem selle juhtumi juures on see, et veebilehe omanik ega arendaja ei pidanud midagi valesti tegema. Plugin tuli ametlikust allikast ja uuendati tavalisel viisil. Probleem tekkis tarkvara levitusahelas, mille turvalisuse eest vastutab Rank Math. Kuidas ründajad pahavara ametlikesse uuenduspakettidesse lisasid, pole praegu avalikult teada. Kiire uuendamine on endiselt õige, kuid see juhtum näitab, et ka ametlikku uuendust ei saa alati pimesi usaldada.
Mida pahavara teeb
Pahavara paigaldab serverisse varjatud tagaukse. Selle kaudu saab ründaja tegutseda veebiserveri kasutaja õigustes. Allolev põhineb meie enda serverist leitud faili analüüsil, teistel saitidel võivad failinimed erineda.
Kuidas see end peidab
- Meie serveris oli tagauks kaustas
wp-content/mu-plugins/. Faili nimi algascache-preloader-ja lõppes juhusliku märgijadaga. Must-use pluginad laaditakse automaatselt ning neid ei saa WordPressi halduses tavapärasel viisil välja lülitada. Need ei ilmu tavalisse pluginate nimekirja, vaid on nähtavad eraldi „Kohustuslik“ (Must-Use) vahekaardil. - Kui nakatunud plugin või pahavara andmebaasikirjed on alles, võib tagauks lehe külastamisel uuesti tekkida.
- Ilma õige võtmeta päringule vastab fail tühja vastusega ja CDN-i matkivate päistega, et see paistaks kahjutu vahemäluna.
- Ligipääs nõuab saidipõhist võtit, mis salvestatakse andmebaasi.
Mida ründaja võtmega teha saab
Sõltuvalt serveri seadistusest ja failiõigustest saab ründaja:
- käivitada serveris käske ja SQL-päringuid;
- lugeda, kirjutada ja kustutada faile, ka samal hostingukontol olevate teiste saitide omi, kui veebiserveri kasutajal on neile ligipääs;
- lugeda
wp-config.phpja.envfaile, SSH võtmeid, Giti ja Composeri ligipääsutunnuseid ning AWS-i ja Cloudflare’i võtmeid; - võtta kasutajate parooliräsid, luua uue administraatori ja lugeda WooCommerce’i API võtmeid;
- jätta serverisse püsivaid tagauksi, mis peidetakse näiteks ajastatud ülesannetesse, `.htaccess` reeglitesse või näiliselt tavalistesse WordPressi failidesse.
Puhas turvaskann ei tõesta, et midagi ei lekkinud
Paroolide ja võtmete lugemine ei jäta failisüsteemi ühtegi uut faili. Seepärast ei tõesta puhas skann ega uute administraatorite puudumine, et midagi ei lekkinud.
Miks iga tund loeb
Meie juhtum ajajoonel (Eesti aja järgi):
- 16.10 kell 07:56 – uuendasime Rank Math PRO tavalise WordPressi uuendusena versioonile 3.0.123. See jäi nakatunud aknasse.
- 16.10 kell 23:32 – Rank Math saatis mõjutatud klientidele hoiatuse e-kirjaga.
- 17.10 kell 03:59 – ründaja kasutas tagaust, umbes 20 tundi pärast uuendust.
- 17.10 kell 06:41 – Wordfence avaldas avaliku hoiatuse.
- 17.10 hommikul – lugesime Rank Mathi kirja, leidsime tagaukse ja eemaldasime selle umbes 25 tundi pärast uuendust.
Rünnak oli automatiseeritud, päring tuli tööriistalt, mis esitles end WordPressina.
Logides on näha üks päring tagaukse poole. Vastus oli 104 baiti ja päring kestis 20 millisekundit. See näeb välja pigem kontroll päringuga kui andmete väljaviimisena, aga logide põhjal ei saa ka kindlalt öelda, mida ründaja täpselt tegi.
Iga tund, mil tagauks on serveris, annab ründajale aega lugeda paroole ja võtmeid, luua uusi tagauksi ja liikuda edasi samal kontol olevatele saitidele. Kui tagauks oleks jäänud serverisse nädalaks, oleks pilt hoopis teine.
Kas sinu sait on mõjutatud
Kui sinu saidil ei ole Rank Math SEO PRO-d, see juhtum sind ei puuduta. Kui on, käi need punktid läbi.
Kontroll-loend
- Kas nakatunud versioon paigaldati ajaaknas? Kui Rank Mathilt tuli e-kiri, on vastus tõenäoliselt jah.
- Kas
wp-content/mu-plugins/kaustas on faile, mida sa ei tunne? Vaata ka seda, millal kausta viimati muudeti. - Kas andmebaasi
wp_optionstabelis on kirjed_uf6qdn2hmm,t8krdk990phbvõi_np5pvf754c? - Kas on tundmatuid administraatoreid? Otsi kasutajanimesid, mis algavad
wpsupport_, ja e-posti aadresse domeeniga@wp-mail.net. - Kas on olemas fail
wp-includes/class-wp-cache-util.php? Rank Math teatab, et tegemist ei ole õige WordPressi tuumafailiga. - Kas kuskil on
.cachelaiendiga faile, mis sisaldavad PHP koodi? Vaata ka, kas.htaccessfailis on tundmatuid reegleid, mis lasevad.cachefaile PHP-na käivitada. - Kas failides on pahavara tunnuseid? Otsi võtit
xmmqhn,base64_decodekoos XOR-tsükliga,proc_openja PHP-FPM soklitega seotud koodi. Üksikbase64_decodeei tähenda veel pahavara. - Kas serveri crontabis on rida märgendiga
#ms6v46? Jagatud hostingus küsi seda hostingu toelt. - Kas server ühendub domeeniga
rank1cdn[.]com? Selle kohta küsi vajadusel samuti hostingu toelt. - Kas serveri logides on päringuid
mu-pluginskaustas olevate tundmatute PHP-failide poole? See võib tähendada, et tagaust prooviti kasutada, ja vajab lähemat uurimist.
Kui nakatunud versioon oli aktiivne, tuleb sait taastada või põhjalikult puhastada ka siis, kui ükski punkt midagi ei leia. Paroolid ja võtmed tuleb samuti välja vahetada.
Kui plugin ainult laaditi alla, aga seda ei paigaldatud ega aktiveeritud, ei tähenda see Rank Mathi sõnul veel, et sait on kompromiteeritud. Automaatne uuendus aktiivsele pluginale tähendab aga, et uus versioon käivitus kohe.
Mida teha samm-sammult
- Salvesta enne muudatusi serveri logid turvalisse kohta. Ilma nendeta ei saa hiljem aru, mis juhtus.
- Taasta sait varundusest, mis on tehtud enne 15.10 kella 23:02. Taasta nii failid kui ka andmebaas. Enne taastamist kontrolli, et varundusfaile ei ole hiljem muudetud, sest serveris hoitud varundus oli ründajale kättesaadav.
- Kui puhast varundust ei ole, peata kõigepealt uus nakatumine. Kustuta kogu plugina kaust (tavaliselt
seo-by-rank-math-pro, Rank Mathi juhendisrank-math-pro), eemalda eespool nimetatud andmebaasikirjed ja blokeeri väljaminevad ühendused domeenigarank1cdn[.]com. Alles siis kustuta tagauksefailid, muidu võib pahavara need lehe külastamisel uuesti luua. Plugina väljalülitamisest ei piisa. - Otsi üles kõik maha jäetud asjad. Käi läbi kontroll-loend, teiste pluginate ja teemade failid, PHP-failid
wp-content/uploads/kaustas, WordPressi ajastatud ülesanded (wp cron event list), SSHauthorized_keysfail ja serveri cron-tööd. - Paigalda 3.0.124 otse oma rankmath.com kontolt. Ära kasuta e-kirjas olevat linki, sest Rank Math hoiatab ka õngitsuskirjade eest.
- Vaheta kõik paroolid ja võtmed:
- andmebaasi parool ning WordPressi võtmed ja soolad (
wp-config.php); - kõigi WordPressi kasutajate paroolid ja administraatorite kaheastmeline autentimine;
- SMTP, API ja makselahenduste võtmed ning WooCommerce’i REST võtmed;
- hostingu, FTP, SSH ja Cloudflare’i ligipääsud;
- samal hostingukontol olevate teiste saitide andmebaasiparoolid.
- andmebaasi parool ning WordPressi võtmed ja soolad (
- Kontrolli failide terviklikkust. Kui sul on WP-CLI, käivita
wp core verify-checksumsjawp plugin verify-checksums --all. Tasuliste pluginate kohta kontrollsummasid ei ole, need võrdle puhta koopiaga arendaja kontolt. - Jälgi paar päeva. Vaata, kas kustutatud failid ilmuvad tagasi või kas server ühendub tundmatute aadressidega. Kui jah, on puhastus pooleli.
- Mõtle isikuandmetele. Kui saidil on kasutajate andmed, e-poe tellimused või muud isikuandmed, võis ründajal olla neile ligipääs. Dokumenteeri juhtum ja hinda, kas sellest tekib oht inimeste õigustele. Kui tekib, tuleb Andmekaitse Inspektsiooni teavitada võimaluse korral 72 tunni jooksul pärast rikkumisest teada saamist. Kui sait kuulub kliendile, teavita klienti.
Mida me ise kontrollisime ja õppisime
Pärast tagaukse leidmist tahtsime teada, kas ründaja jõudis midagi muud muuta või mõne lisaligipääsu maha jätta. Kontrollisime järgmist:
- Kasutajad. Administraatoreid oli ainult üks, meie oma konto. Pärast 15.10 ei olnud ühtegi uut kasutajat lisatud. Kõik admin-paneeli sisselogimised tulid meie enda IP-lt.
- WordPressi ja pluginate failid. Core’i ja pluginate kontrollsummad olid puhtad, võlts-WordPressi faile ei olnud.
- Ajastatud ülesanded. WordPressis olid ainult tuntud pluginate omad. Serveri crontab oli puhas.
- Failid,
.htaccessja andmebaas. Otsisime pahavara võtmesõnu,.cachefaile PHP-koodiga, tundmatuid.htaccessreegleid ja pahavara andmebaasikirjeid. Rohkem midagi ei leidnud. - Serveri logid. Käisime läbi logifailid. Leidsime ühe päringu tagaukse poole. Teise tagaukse ega
.cachefailide kasutamise jälgi ei olnud.
Kustutasime tagaukse ja taastasime 13.10 tehtud täisvarundusest andmebaasi, pluginad, teemad ja üleslaadimised. WordPressi core’i failid olid kontrollsummade järgi puhtad. Seejärel vahetasime kõik saladused: andmebaasi parooli, WordPressi võtmed ja soolad, kasutajate paroolid, SSH ja hostingu ligipääsud ning API võtmed. Enne taastamist kontrollisime, et varundust ei olnud hiljem muudetud.
Samal hommikul kontrollisime üle ka kliendisaidid, kus Rank Math PRO uuendus samal päeval tehti. Kõik olid puhtad.
Kõige olulisem õppetund: puhas skann ei tõesta, et midagi ei lekkinud. Juhtumi lahendasid kolm asja: varundus, serveri logid ja kiire reageerimine. Ilma nendeta oleksime teadnud ainult seda, et lehel oli pahavara, aga mitte seda, millal see sinna jõudis ja kas keegi seda kasutas.
Kaitse algab enne rünnakut
Selle juhtumi puhul ei oleks tavaline uuendamise kord meid kaitsnud. Ette saab valmistuda selleks, et juhtunu kiiresti välja selgitada ja leht puhtalt taastada. Selleks peavad olemas olema testitud varundused, logid, jälgimine ja inimene, kes teab, mida kontrollida.
Seda teemegi kodulehe hoolduse raames
- igapäevased varundused, mille taastamist on testitud;
- kättesaadavuse ja turvalisuse jälgimine;
- kriitilised turvauuendused olenevalt paketist samal päeval, 1 või 2 tööpäeva jooksul;
- hoolduspaketid alates 49 € kuus.
Kahtlustad, et sinu leht on mõjutatud? Võta ühendust ka siis, kui sa ei ole meie hooldusklient. Aitame kontrollida, kas leht on nakatunud, ning vajadusel pahavara eemaldada ja lehe taastada.
Allikad
- Wordfence: PSA: Malware Found in Some Rank Math SEO PRO 3.0.123 Downloads
- Rank Math: PRO 3.0.123 Security Incident
- CVE-2026-111862
- Rank Mathi e-kiri mõjutatud klientidele, 16.10.2026
- Codeteami serveri logid ja tagaukse faili analüüs, 17.10.2026
Vaata ka meie varasemat artiklit kahest tõsisest WordPressi turvaaugust tänavu suvel.

