WP-SHELLSTORM: massattack mot WordPress och Joomla, färre intrång än siffrorna antyder
Säkerhetsforskare har under juni och juli 2026 kartlagt en storskalig operation som fått namnet WP-SHELLSTORM. Angriparna bakom den byggde listor med 1,4 miljoner WordPress- och Joomla-domäner som potentiella mål, planterade dolda webbskal (webshells, fjärrstyrda bakdörrar i form av skriptfiler) på tusentals sajter, och sålde sedan vidare åtkomsten till andra kriminella aktörer. Siffran 1,4 miljoner låter dramatisk, men när materialet rensats från dubbletter och verifierats landar det faktiska antalet drabbade sajter på omkring 25 000, långt färre än mållistorna antydde. Det som spelar roll för svenska webbplatsägare är varför din sajt kan bli intressant för angripare, även om den knappast är ett värdefullt mål i sig.
Så upptäcktes operationen
Säkerhetsföretaget SOCRadar hittade en oskyddad mapp på en amerikansk hyrd server den 11 juni 2026. Mappen låg helt utan lösenordsskydd. Oberoende av SOCRadar upptäckte teamet Ctrl-Alt-Intel samma material via tjänsten Hunt.io och publicerade sina fynd redan den 22 juni. SOCRadar släppte sin fullständiga analys den 9 juli, och det är i huvudsak den händelsekedjan som gett operationen sitt namn.
Det som låg på servern var runt 800 MB fördelat på 434 filer, bland annat färdiga webbskal, exploateringsskript, skanningsresultat och operatörens egen kommandohistorik. Operatören hade kört en enkel Python-webbserver för att exponera materialet i hela 22 dagar innan den till slut togs bort. I praktiken fick forskarna en fri inblick i angriparens arbetsprocess, inte bara resultatet av den.
Två sårbarheter öppnade dörren
Det finns inget mystiskt över hur angriparna kom in. Två kända, redan patchade sårbarheter stod för merparten av intrången.
- WordPress: cache-pluginet Breeze innehöll sårbarheten CVE-2026-3844, åtgärdad i version 2.4.5. Hålet fungerar bara när en icke-standardinställning, "Host Files Locally – Gravatars", är påslagen, vilket begränsar exponeringen men inte gör den försumbar. Angriparna sköt mot över 45 000 mål och lyckades enligt sin egen bokföring bakdörra fler än 17 000 av dem.
- Joomla: editorn JCE Editor hade sårbarheten CVE-2026-48907, åtgärdad i version 2.9.99.5. Den klassas som maximalt allvarlig och står upptagen på den amerikanska myndigheten CISA:s lista över aktivt utnyttjade sårbarheter (Known Exploited Vulnerabilities, KEV). Trots att angriparna riktade in sig på över 560 000 Joomla-mål lyckades de bara ta sig in på 77 sajter, en betydligt lägre träffsäkerhet än mot WordPress. Läs mer om vad du bör tänka på om du driver en Joomla-sajt.
Webbskalet: down.php
Bakdörren som planterades på komprometterade sajter gick under filnamnet down.php och var kraftigt obfuskerad i fyra lager, alltså medvetet gjord svår att läsa och upptäcka. Analysen visar att den härstammar från ett öppet kinesiskt webbskal känt som BestShell. När det väl kördes kunde angriparen hantera filer på servern, exekvera kommandon, öppna en så kallad reverse shell (en bakåtansluten fjärrterminal som ger full kontroll), skanna det interna nätverket och kontrollera vilken säkerhetsmjukvara värden hade installerad.
Från miljontals mål till tiotusentals faktiska offer
Mållistorna omfattade totalt 1,4 miljoner domäner över flera plattformar. Den enskilt största listan innehöll 587 034 Joomla-mål. Men en mållista är inte samma sak som ett intrång. Det är en önskelista, ofta byggd på automatiserad skanning utan att någon sårbarhet faktiskt utnyttjats.
När Ctrl-Alt-Intel rensade bort dubbletter och verifierade vilka sajter som faktiskt komprometterats landade siffran på cirka 25 195 sajter. SOCRadar observerade i sin tur drygt 5 700 aktiva webbskal vid ett givet tillfälle. Det är fortfarande ett stort antal drabbade webbplatser, men en helt annan storleksordning än 1,4 miljoner. Skräckrubriker som stannar vid mållistans storlek ger en missvisande bild av hur många som faktiskt drabbats.
Din sajt är inte målet, den är råvaran
WP-SHELLSTORM bygger på vad säkerhetsbranschen kallar en access brokerage, ett åtkomstmäkleri. Modellen är enkel. En grupp bryter sig in i sajter i stor skala, planterar ett dolt webbskal på varje komprometterad sajt, och paketerar sedan åtkomsten för försäljning vidare till andra aktörer, som i sin tur kan använda den för allt från spam och skräpmejl till ransomware eller vidare intrång.
Det är precis den logiken som gör frågan "vem skulle vilja hacka min lilla svenska sajt?" missriktad. Din sajt behöver inte vara värdefull i sig för att vara intressant. Den behöver bara vara nåbar. En liten föreningssajt, en enmansfirmas WordPress-blogg eller en förenings Joomla-portal är precis lika mycket råvara i det här systemet som en stor e-handelssajt, så länge den kör sårbar programvara. WordPress driver en mycket stor andel av alla svenska webbplatser, vilket i praktiken gör exponeringsytan bred snarare än smal.
Samma mekanik går igen bredare
Grundorsaken bakom WP-SHELLSTORM är dessutom ovanligt banal, ett opatchat tredjepartstillägg i kombination med en olämplig standardinställning. Samma underliggande mönster, att en filuppladdningsfunktion i förlängningen tillåter körbar PHP-kod i en mapp där den aldrig borde få köras, går igen i flera av de Joomla-relaterade sårbarheter som dykt upp på CISA:s KEV-lista under juli 2026. Det är sällan de mest exotiska attackerna som orsakar flest intrång. Oftast är det ett tillägg som ingen kommit ihåg att uppdatera.
Så skyddar du dig
Om du driver WordPress med Breeze eller Joomla med JCE Editor är första steget enkelt att beskriva, om än inte alltid enkelt att komma ihåg att göra.
- Uppdatera Breeze till version 2.4.5 eller senare, och JCE Editor till 2.9.99.5 eller senare.
- Blockera PHP-exekvering i uppladdningsmappen (wp-content/uploads) via en regel i .htaccess eller motsvarande nginx-konfiguration. Det här är ett skydd som sällan lyfts fram i svensk hostingcontent, men det är effektivt. Om ett webbskal ändå tar sig in i uploads-mappen kan det inte köras, vilket stoppar attacken även efter att intrånget redan skett.
- Sätt upp filintegritetsövervakning som slår larm när okända filer dyker upp i systemet.
- Rotera admin-uppgifter, särskilt om du misstänker att någon redan haft åtkomst.
- Lita på att värdens egen skanning gör sitt jobb. En del svenska webbhotell erbjuder malware-skanning på servernivå, och den typen av skydd fångar ofta kända webbskalsmönster, till exempel just filer i stil med down.php.
En brandvägg för webbapplikationer (WAF) är ett ytterligare lager som filtrerar bort skadlig trafik innan den ens når din kod, och en fungerande backup är den återställningsväg du vill ha på plats om något ändå går snett. Misstänker du att din sajt redan är påverkad finns en genomgång av hur du går tillväga i vår guide om att sanera en hackad WordPress-sajt.
WP-SHELLSTORM är i grunden inget nytt hot. Uppdateringar och grundläggande serverhygien stoppar fortfarande de flesta intrången, långt innan det blir fråga om avancerad teknik.