Overslaan en naar de inhoud gaan
Ninja Forms en WPC Product Bundles actief misbruikt via stored XSS in WordPress

Ninja Forms en WPC Product Bundles-kwetsbaarheden actief misbruikt voor WordPress-overname

7 oktober 2026
Vincent Zeilmaker – Vservs B.V.

Een Ninja Forms kwetsbaarheid en een beveiligingslek in WPC Product Bundles for WooCommerce worden actief misbruikt om WordPress-websites over te nemen. Beveiligingsonderzoekers van Patchstack hebben een aanvalscampagne waargenomen waarbij stored cross-site scripting wordt gebruikt om via de actieve sessie van een WordPress-beheerder kwaadaardige plugins, administratoraccounts en meerdere backdoors te installeren.

De aanvallen richten zich op CVE-2026-94504 in Ninja Forms en CVE-2026-93836 in WPC Product Bundles for WooCommerce. De kwetsbaarheden zijn afzonderlijk gepatcht, maar websites waarop de aanval al succesvol is uitgevoerd moeten aanvullend op compromittering worden onderzocht.

Welke WordPress-plugins worden aangevallen?

Patchstack heeft actieve exploitatie bevestigd van de volgende twee kwetsbaarheden:

  • Ninja Forms – CVE-2026-94504: versies tot en met 3.15.3 zijn kwetsbaar; versie 3.15.4 bevat de fix.
  • WPC Product Bundles for WooCommerce – CVE-2026-93836: versies tot en met 8.6.6 zijn kwetsbaar; versie 8.6.7 bevat de fix.

Beide kwetsbaarheden betreffen stored cross-site scripting en hebben een CVSS-score van 7,1.

Ninja Forms wordt op meer dan 500.000 WordPress-websites gebruikt. WPC Product Bundles for WooCommerce heeft meer dan 30.000 actieve installaties.

Hoe werkt de aanval?

De aanval begint met gegevens die zonder WordPress-login naar de kwetsbare plugin kunnen worden gestuurd.

Bij WPC Product Bundles wordt de kwaadaardige JavaScript-code opgeslagen in WooCommerce-ordergegevens. Bij Ninja Forms wordt de code via een normale formulierinzending opgeslagen.

De code wordt niet noodzakelijk direct uitgevoerd. De aanval wacht totdat een ingelogde WordPress-beheerder de betreffende WooCommerce-order of Ninja Forms-inzending opent.

Op dat moment draait de opgeslagen JavaScript-code binnen de beveiligingscontext van de WordPress-beheeromgeving.

De aanvaller misbruikt de bestaande administratorsessie

De malware hoeft het WordPress-wachtwoord of de sessiecookie van de beheerder niet te stelen.

Omdat de JavaScript-code binnen het eigen WordPress-domein wordt uitgevoerd, worden requests naar wp-admin automatisch met de reeds aangemelde administratorsessie uitgevoerd.

De aanval gebruikt die sessie om onder andere WordPress-nonces op te vragen en normale administratieve WordPress-functies aan te roepen.

Volgens de analyse van Patchstack kan de aanval vervolgens:

  • een kwaadaardige WordPress-plugin installeren;
  • een zichtbaar administratoraccount aanmaken;
  • een tweede administratoraccount aanmaken dat uit de WordPress-gebruikerslijst wordt verborgen;
  • een geheime loginroute installeren;
  • een onbeveiligde file manager installeren;
  • aanvullende persistence via must-use plugins aanbrengen.

Kwaadaardige plugin doet zich voor als WP Smart Thumbnails

De campagne installeert een plugin met de naam WP Smart Thumbnails, versie 1.2.4, zogenaamd ontwikkeld door “MediaPress Labs”.

De plugin wordt geplaatst onder:

/wp-content/plugins/wp-smart-thumbnails/

Patchstack heeft vastgesteld dat deze plugin geen legitieme thumbnailfunctionaliteit bevat, maar onder andere een dropper, persistence-installer en onbeveiligde file manager.

Verborgen administrator is niet zichtbaar in wp-admin

Een belangrijk onderdeel van deze campagne is dat de aanvaller een WordPress-administrator kan creëren die bewust uit de normale gebruikerslijst wordt verborgen.

Daarvoor worden onder andere must-use plugins aangemaakt onder:

/wp-content/mu-plugins/class-wp-query-*.php

en:

/wp-content/mu-plugins/class-wp-token-validate.php

Deze code manipuleert de WordPress-gebruikersquery zodat het kwaadaardige administratoraccount niet zichtbaar is onder Gebruikers → Alle gebruikers en ook niet wordt meegerekend in de weergegeven aantallen.

Alleen de gebruikerslijst in wp-admin bekijken is daardoor onvoldoende om deze compromittering uit te sluiten.

Geheime WordPress-login blijft bestaan

De malware kan daarnaast een geheime loginroute creëren via:

/wp-login.php?_wplogin=<token>

Hiermee kan een aanvaller zonder normaal loginproces een WordPress-sessie verkrijgen als een bestaand administratoraccount.

De bijbehorende tokens worden opgeslagen in de WordPress-optie:

fz_emer_login_tokens

Het verwijderen of updaten van Ninja Forms of WPC Product Bundles verwijdert deze persistence niet automatisch.

Actieve exploitatie bevestigd

Dit is geen theoretische kwetsbaarheid waarvoor alleen een proof-of-concept beschikbaar is.

Patchstack heeft daadwerkelijke exploitatie waargenomen:

  • 4 oktober 2026: eerste waargenomen aanvallen via CVE-2026-93836 in WPC Product Bundles;
  • 5 oktober 2026: dezelfde payload waargenomen via CVE-2026-94504 in Ninja Forms.

In beide gevallen werd JavaScript geladen vanaf dezelfde aanvallersinfrastructuur op imgcdn1.com.

Patchstack beschrijft de omvang van de momenteel waargenomen exploitatie nog als beperkt, maar heeft actieve aanvallen ondubbelzinnig bevestigd.

Welke versies moeten worden geïnstalleerd?

  • Ninja Forms: update naar versie 3.15.4 of nieuwer.
  • WPC Product Bundles for WooCommerce: update naar versie 8.6.7 of nieuwer.

Installeer bij voorkeur altijd de meest recente stabiele versie die door de leverancier wordt aangeboden.

Alleen updaten is bij een getroffen website niet voldoende

Een update voorkomt nieuwe exploitatie via de betreffende kwetsbaarheid, maar verwijdert geen backdoors die al tijdens een eerdere succesvolle aanval zijn geïnstalleerd.

Websites die een kwetsbare versie hebben gebruikt en waarop beheerders WooCommerce-orders of Ninja Forms-inzendingen hebben bekeken, moeten daarom ook op indicatoren van compromittering worden gecontroleerd.

Controleer op deze indicatoren

Controleer in ieder geval op de volgende bestanden en paden:

  • /wp-content/plugins/wp-smart-thumbnails/
  • /wp-content/plugins/wp-smart-thumbnails/wp-smart-thumbnails.php
  • /wp-content/plugins/wp-smart-thumbnails/emer-run.php
  • /wp-content/mu-plugins/class-wp-token-validate.php
  • /wp-content/mu-plugins/class-wp-query-*.php

Controleer daarnaast de WordPress-database op de opties:

  • fz_emer_done_v1
  • fz_emer_login_tokens

Doorzoek webserver- en securitylogs naar onder andere:

  • imgcdn1.com
  • /fz/x.js
  • /fz/c.php
  • _wplogin in requests naar wp-login.php.

Controleer administratoraccounts rechtstreeks in de database

Omdat de malware administratoraccounts uit wp-admin kan verbergen, moet bij een concrete verdenking ook de WordPress-database rechtstreeks worden gecontroleerd.

Controleer welke gebruikers daadwerkelijk administratorrechten hebben en vergelijk dit met de accounts die zichtbaar zijn in de WordPress-beheeromgeving.

Extra verdacht zijn onbekende accounts met algemene namen zoals support, updater, maintenance of backup, zeker wanneer daarbij een ongebruikelijk @wordpress.org-adres is geregistreerd.

Let niet alleen op recent gewijzigde bestanden

Bij deze campagne worden kwaadaardige bestanden bewust voorzien van oude wijzigingsdatums.

De malware zoekt naar oude bestanden binnen de WordPress-installatie en gebruikt die datum vervolgens voor de nieuw aangemaakte backdoorbestanden.

Een controle waarbij alleen wordt gezocht naar bestanden die in de afgelopen dagen zijn gewijzigd, kan deze malware daarom missen.

Wat doen bij bevestigde compromittering?

Wanneer een van de beschreven indicatoren wordt aangetroffen, moet de website als mogelijk volledig gecompromitteerd worden beschouwd.

Vservs adviseert dan minimaal:

  1. de getroffen website tijdelijk af te schermen wanneer dit nodig is om verdere schade te voorkomen;
  2. Ninja Forms en/of WPC Product Bundles naar een veilige versie bij te werken;
  3. ongeautoriseerde plugins en must-use plugins te verwijderen;
  4. alle administratoraccounts rechtstreeks via database en WordPress te controleren;
  5. de kwaadaardige WordPress-opties en persistence-mechanismen te verwijderen;
  6. WordPress Core, plugins en themes op integriteit te controleren;
  7. administratorwachtwoorden en andere bevoorrechte credentials te wijzigen;
  8. WordPress authentication salts opnieuw te genereren;
  9. API-keys en andere secrets te roteren wanneer er aanleiding is om aan te nemen dat deze toegankelijk waren;
  10. webserver-, PHP-, database- en securitylogs te bewaren en te onderzoeken.

Herstel bij voorkeur vanuit een aantoonbaar schone situatie wanneer de omvang van de compromittering niet betrouwbaar kan worden vastgesteld.

Managed WordPress Hosting bij Vservs

Kwetsbaarheden zoals deze laten zien waarom uitsluitend automatisch updaten niet voldoende is voor bedrijfskritische WordPress-websites. Bij actieve exploitatie zijn monitoring, logging, malwarecontrole en incidentonderzoek minstens zo belangrijk.

Met Vservs Managed WordPress Hosting verzorgen wij technisch WordPress-beheer, security hardening, monitoring, updates, malwarecontrole en back-ups.

Samenvatting

  • Ninja Forms CVE: CVE-2026-94504
  • Ninja Forms kwetsbaar: tot en met 3.15.3
  • Ninja Forms veilig: 3.15.4 of nieuwer
  • WPC Product Bundles CVE: CVE-2026-93836
  • WPC Product Bundles kwetsbaar: tot en met 8.6.6
  • WPC Product Bundles veilig: 8.6.7 of nieuwer
  • Type: stored cross-site scripting
  • CVSS: 7,1
  • Authenticatie voor initiële injectie: niet vereist
  • Uitvoering: wanneer een ingelogde beheerder de geïnjecteerde gegevens bekijkt
  • Actieve exploitatie: bevestigd
  • Mogelijke impact: administratoraccounts, backdoors, verborgen persistence en file manager
  • Advies: direct updaten én kwetsbaar blootgestelde websites op compromittering controleren

Bronnen

  • Patchstack – Four ways back in: the WordPress XSS campaign that hides its own admin account
  • Patchstack – CVE-2026-94504
  • Patchstack – CVE-2026-93836
  • BleepingComputer – Ninja Forms plugin flaw exploited to hack WordPress sites

Vservs kan u helpen

Heeft u hulp nodig bij het controleren, beveiligen of herstellen van uw website of webshop? Vservs kan de kwetsbaarheid onderzoeken, updates uitvoeren en controleren of misbruik heeft plaatsgevonden. Wilt u beveiligingsrisico’s structureel laten bewaken en technisch onderhoud uitbesteden? Bekijk dan onze managed hosting- en beheeroplossingen.