mandag den 12. oktober 2026UAFHÆNGIG DANSK MEDIE
Winterberg Media
Teknologi

Ninja Forms-hul udnyttes nu: Opdater din WordPress

Et hul i Ninja Forms bliver udnyttet lige nu. Opdater til 3.15.4 — men det fjerner ikke en bagdør, der allerede er sat ind. Sådan tjekker du din side.

7. oktober 2026·8 min læsning·af Winterberg Media

Et sikkerhedshul i Ninja Forms — et af WordPress' mest brugte formular-plugins med over 500.000 aktive installationer — bliver udnyttet i aktive angreb lige nu. Hullet har nummeret CVE-2026-94504, det rammer version 3.15.3 og ældre, og det er lukket i 3.15.4. De første udnyttelsesforsøg blev set 5. oktober 2026.

Men selve opdateringen er kun halvdelen af opgaven, og det er den vigtigste pointe i denne sag: en opdatering til 3.15.4 stopper nye angreb, men den fjerner ikke en bagdør, der allerede er lagt ind. Hvis din side blev ramt i de dage, hvor hullet var åbent, er den stadig kompromitteret efter opdateringen. Derfor har denne artikel to dele — opdater, og tjek derefter, om du allerede er ramt.

Det er en kampagne, der flytter sig fra plugin til plugin

Det her er ikke en enkeltstående hændelse, og det er grunden til, at artiklen også er relevant, hvis du slet ikke bruger Ninja Forms.

Sikkerhedsfirmaet Patchstack opdagede kampagnen 4. oktober 2026. Dengang gik den efter et helt andet plugin: WPC Product Bundles for WooCommerce (CVE-2026-93836, berørt til og med version 8.6.6, rettet i 8.6.7, omkring 30.000 installationer). Dagen efter, 5. oktober, dukkede nøjagtigt samme payload op gennem Ninja Forms-hullet.

WPC Product BundlesNinja Forms
CVECVE-2026-93836CVE-2026-94504
Berørte versionertil og med 8.6.6til og med 3.15.3
Rettet i8.6.73.15.4
Installationer30.000+500.000+
Angreb set4. oktober 20265. oktober 2026

To plugins på to dage, samme kode bagved. Angriberne leder altså efter nye huller i populære plugins og hælder den samme angrebskode ned i dem, efterhånden som de finder dem. Det er værd at tage alvorligt, selv hvis du kører hverken det ene eller det andet plugin — næste plugin i rækken kan være dit. Vi har set samme mønster tidligere i år, blandt andet i angrebene mod Elementor Pro og Super Forms og i Brevo-kampagnen, der ramte 100.000 WordPress-sider.

Sådan virker angrebet

Hullet i Ninja Forms er en stored XSS — en sårbarhed, hvor angriberen gemmer ondsindet JavaScript i siden, så koden kører senere, når en anden åbner den.

Indsendelsen kræver ingen konto: koden sendes ind gennem et almindeligt, offentligt formularfelt. Men den kører først, når en logget ind administrator åbner den pågældende indsendelse i WordPress' administrationspanel. Det er dette krav om et administratorbesøg, der gør, at sårbarheden er klassificeret med høj alvorlighed i stedet for kritisk — men i praksis er det en lav barriere. En formularindsendelse er netop noget, en sideejer åbner for at læse den.

Derfra er kæden ubehageligt effektiv, fordi den slet ikke bruger hackerværktøjer:

  1. Koden kører i administratorens browser og med administratorens rettigheder
  2. Den henter de sikkerhedsnøgler (nonces), WordPress bruger til at godkende handlinger i panelet
  3. Den bruger derefter WordPress' helt almindelige, legitime funktioner til at installere et plugin

Pluginet, der bliver installeret, kalder sig "WP Smart Thumbnails" version 1.2.4. Navnet er valgt, så det ser kedeligt og nyttigt ud på en pluginliste. Det er her, det farlige ligger — ikke i XSS-hullet i sig selv.

Fire veje tilbage ind

Det falske plugin etablerer fire uafhængige måder at komme tilbage ind på siden. Det er hele grunden til, at en opdatering ikke er nok:

PersistensHvad den gør
En synlig administratorkontoEn ny admin-bruger, oprettet via WordPress' egne funktioner
En skjult administratorkontoEn admin-bruger, der filtreres væk fra brugeroversigten, så du ikke kan se den i panelet
En hemmelig login-adresseEn særlig adresse med et token, der logger angriberen ind som sidens ældste administrator
Uautentificeret filadgangEn filhåndtering indbygget i det falske plugin, som kan nås udefra uden login

Patchstack formulerer konsekvensen direkte: at fjerne det sårbare plugin, eller endda det ondsindede plugin, lukker ingen af de tre sidste. Du kan altså slette både Ninja Forms og "WP Smart Thumbnails" og stadig have en angriber med fuld adgang.

Det minder om kampagnen i den WordPress-bagdør, der genskaber sig selv otte steder gennem wpForo, som vi skrev om for to dage siden — og mange vil forveksle de to sager. De er ikke de samme: wpForo-sagen handler om et andet plugin, et andet CVE-nummer (CVE-2026-1581, en SQL-injektion) og en bagdør, der genopbygger sig selv fra otte filplaceringer. Denne sag er en aktiv kampagne, der flytter sig mellem plugins, og hvor persistensen ligger i fire selvstændige adgangsveje frem for i selvhelende filer. Det, de har til fælles, er lektien: oprydning efter en moderne WordPress-bagdør er ikke det samme som at slette et plugin.

Del 1: Opdater

Opdateringen er det nemme, og den skal gøres med det samme.

Gå til Plugins i WordPress-panelet og opdater Ninja Forms til 3.15.4 eller nyere. Versionen kan verificeres direkte i WordPress' officielle plugin-arkiv, og CVE-nummeret og de berørte versioner har vi kontrolleret mod Patchstacks egen analyse, som er den kilde, der har fundet og dokumenteret kampagnen. Kører du WPC Product Bundles for WooCommerce, skal det op på 8.6.7.

Hvis du har automatiske pluginopdateringer slået til, er du sandsynligvis allerede på 3.15.4. Tjek det alligevel — automatiske opdateringer fejler oftere, end folk tror.

Del 2: Tjek om du allerede er ramt

Dette er den del, de fleste springer over. Gør det ikke, hvis din side har kørt 3.15.3 eller ældre inden for den sidste uge.

Tjek brugerlisten. Gå til Brugere i panelet og se efter en administrator, du ikke selv har oprettet. Vær opmærksom på, at en af de to konti er designet til ikke at kunne ses her — derfor bør du også bede dit webhostingfirma eller din udvikler om at tælle administratorer direkte i databasen og sammenligne med det, panelet viser. Et tal, der ikke passer, er svaret.

Tjek pluginlisten. Se efter "WP Smart Thumbnails" version 1.2.4. Den hører ikke til noget legitimt plugin. Pluginmappen hedder wp-smart-thumbnails.

Tjek mappen med must-use-plugins. Det er mappen wp-content/mu-plugins, og dens indhold vises ikke på den almindelige pluginliste. Patchstack peger på filer med navne, der efterligner WordPress' egne — blandt andet filnavne, der starter med class-wp-query-, og en class-wp-token-validate.php. Har du ikke selv lagt noget i mu-plugins, bør mappen typisk være tom.

Tjek serverloggen. Kig efter kald til dit login med en ekstra parameter ved navn _wplogin. Den hører ikke til i WordPress. Se også efter trafik til og fra domænet imgcdn1.com, som kampagnen bruger, og som blev registreret 1. oktober 2026 — tre dage før de første angreb.

Finder du bare ét af disse tegn, skal du gå ud fra, at alle fire adgangsveje er på plads, og at siden skal ryddes op af nogen, der ved, hvad de laver. Det betyder i praksis: skift alle administratoradgangskoder, udskift sidens sikkerhedsnøgler, og få en professionel til at gennemgå filer og database — eller gendan fra en backup, du ved er fra før 4. oktober. At slette det falske plugin og stoppe der er ikke en oprydning.

Hvad det betyder for danske sideejere

Ninja Forms sidder på mange danske sider, netop fordi det er en af de nemmeste måder at få en kontaktformular op uden at kunne kode. Det er typisk tandlægen, håndværkeren, foreningen og den lille webshop — altså sider uden en it-afdeling, og uden nogen der læser sikkerhedsbulletiner.

Det er præcis den profil, kampagnen tjener bedst på. En kapret dansk hjemmeside med et legitimt domæne er værd at have, fordi den kan bruges til at sende phishing-mails, som ikke bliver fanget af spamfiltre, eller til at servere malware til besøgende. Vi har tidligere beskrevet begge mønstre i sager som comment2shell-hullet i WordPress og wp2shell.

Praktisk betyder det tre ting for en dansk sideejer: slå automatiske opdateringer til for plugins, hold antallet af plugins nede — hvert plugin er en ny potentiel indgang — og sørg for, at du har en backup, du faktisk kan gendanne fra. Det sidste er det eneste værktøj, der virker, når du først er ramt.

Konklusion

CVE-2026-94504 er lukket, og 3.15.4 ligger klar. Men kampagnen bag angrebet er ikke lukket — den har bevist, at den kan skifte plugin på under 24 timer, og den har ingen grund til at stoppe ved to.

Det, der skal følges de næste uger, er, hvilket plugin nummer tre bliver. BleepingComputer har bragt sagen videre til et bredere publikum, og erfaringen fra lignende kampagner er, at dækningen får opdateringsraten op — men kun blandt dem, der læser den.

Så gør de to ting i rækkefølge, og gør dem i dag: opdater til 3.15.4, og tjek derefter brugerlisten og pluginlisten. Den anden halvdel er den, der afgør, om du stadig har en angriber med nøgle til din side.

WordPressNinja FormsCVE-2026-94504Patchstackbagdørhjemmesidesikkerhed

Flere fra Teknologi