Niet elke plugin is een cadeau
Het verhaal werd in april 2026 met opvallend weinig drama gebracht. Een paar technische blogs schreven het op, WordPress.org sloot stilletjes 31 plugins, en de WordPress-wereld bewoog door alsof er iets vervelends was gebeurd dat nu was opgelost.
Het is niet opgelost.
Wat er werkelijk is gebeurd, is een blauwdruk. Een handleiding voor iedereen die overweegt om met WordPress' open ecosysteem te doen wat we tot voor kort alleen in films zagen. En als jij websites beheert voor klanten — al is het er één — is dit het moment om er aandacht aan te besteden. Niet omdat deze specifieke aanval je raakte (al kan dat), maar omdat het de eerste keer is dat we het patroon van zo dichtbij hebben kunnen bestuderen.
Wat er feitelijk gebeurde
Begin 2025 kocht iemand met de naam "Kris" het complete plugin-portfolio van Essential Plugin (voorheen WP Online Support) via Flippa. Eenendertig WordPress plugins, samen actief op honderdduizenden websites. De prijs liep in de zes cijfers — wat aangeeft dat dit geen impulsaankoop was.
Op 12 mei 2025 verscheen er een nieuw account op WordPress.org met SVN-toegang tot alle 31 plugins. Op 8 augustus 2025 volgde de eerste code commit van de nieuwe eigenaar. De changelog vermeldde "Check compatibility with WordPress version 6.8.2." In werkelijkheid bevatten die 191 regels code een achterdeur, verstopt binnen de bestaande analytics-module van de plugin.
Vervolgens gebeurde er acht maanden lang helemaal niets.
Op 5 april 2026 werd de achterdeur wakker. De plugins begonnen contact op te nemen met een command-and-control server die SEO-spam injecteerde in het wp-config.php bestand van iedere getroffen website. Niet zichtbaar voor de eigenaar — alleen Googlebot zag het. Het netwerk was gebouwd om de zoekresultaten van de aanvaller te boosten via duizenden geinfecteerde sites die niemand had door.
WordPress.org reageerde keurig. De plugins werden gesloten, een forced update werd uitgerold, een dashboard-melding verscheen. Maar de update verwijdert de injectie in wp-config.php niet. Die staat er nog steeds, op iedere site die getroffen is, ook nu.
Check direct: staat een van deze 31 plugins op jouw site?
Voordat we het bredere verhaal vertellen, eerst het praktische gedeelte. Onderstaande 31 plugins zijn op 7 april 2026 permanent gesloten door WordPress.org. Als een van deze plugins op jouw site staat — ook in de patched versie 2.6.9.1 — moet hij weg. WordPress.org herstelt deze plugins nooit meer.
De volledige lijst:
- Countdown Timer Ultimate
- Popup Anything on Click
- WP Testimonial with Widget
- WP Team Showcase and Slider
- Responsive WP FAQ with Category
- SP News and Widget
- WP Blog and Widgets
- Album and Image Gallery plus Lightbox
- Timeline and History Slider
- Featured Post Creative
- Post Grid and Filter Ultimate
- Footer Mega Grid Columns
- WP Responsive Recent Post Slider
- WP Slick Slider and Image Carousel
- WP Featured Content and Slider
- Hero Banner Ultimate
- Preloader for Website
- Accordion and Accordion Slider
- Portfolio and Projects
- Ticker Ultimate
- WP Trending Post Slider and Widget
- Woo Product Slider and Carousel with Category
- Audio Player with Playlist Ultimate
- Meta Slider and Carousel with Lightbox
- Post Category Image with Grid and Slider
- Product Categories Designs for WooCommerce
- Blog Designer for Post and Widget
- HTML5 VideoGallery Plus Player
- SlidersPack - All in One Image Sliders
- Styles for WP PageNavi - Addon
- WP Logo Showcase Responsive Slider and Carousel
Wat te doen als je er een vindt:
- Verwijder de plugin volledig. Niet deactiveren — verwijderen.
- Open
wp-config.phpen zoek naar onverwachte PHP-code rond de regelrequire_once ABSPATH . 'wp-settings.php'. Een geinfecteerd bestand is ongeveer 6KB groter dan het hoort te zijn. - Check of
wp-comments-posts.phpin de webroot staat. Dit bestand hoort er niet te zijn in een schone WordPress installatie. Als hij er staat: verwijderen. - Bekijk je site zoals Googlebot dat doet via
site:jouwdomein.nlin Google. Zie je vreemde subpagina's, gokreclame of pharmaspam? Dan was de injectie actief. - Vervang alle admin-wachtwoorden en check de gebruikerslijst op nieuwe accounts.
Als je een van bovenstaande indicatoren vindt, was de site actief gecompromitteerd. Dan is plugin verwijderen niet genoeg — dan is gespecialiseerde forensische opschoning nodig.
Dit is geen normale kwetsbaarheid
Een normale WordPress-kwetsbaarheid werkt anders. Iemand vindt een bug in de code, exploiteert die voordat hij gepatcht is, en jij installeert de update zodra die uitkomt. Vervelend, maar het mechanisme is duidelijk en het herstel is meestal eenvoudig.
Wat hier gebeurde is fundamenteel anders. Er werd geen bug gevonden. Er werd een bedrijfsovername gepleegd. De aanvaller kocht de toegang. WordPress.org distribueerde acht maanden lang braaf zijn malware via het officiële update-kanaal, exact zoals het systeem bedoeld is te werken. Iedere site-eigenaar die op "Update plugins" klikte, installeerde gehoorzaam de achterdeur.
Het ontwerp van het systeem werd niet gebroken. Het werd gebruikt.
Waarom dit het slapend probleem is
In de WordPress wereld bestaat er een onuitgesproken aanname: een plugin van WordPress.org is veilig genoeg. Hij is open source, er kijken duizenden ogen naar, en als er iets mis is wordt dat snel opgemerkt en gemeld. Voor de meeste kwetsbaarheden klopt dat.
Maar plugins zijn niet alleen code. Plugins zijn ook eigenaren. En aan wie ze toebehoren wordt door bijna niemand bijgehouden.
Bij iedere plugin die je op een klantsite installeert, neem je impliciet aan dat de huidige eigenaar — wie dat ook is, vandaag — vertrouwd kan worden. Niet de oorspronkelijke ontwikkelaar die je misschien ooit hebt onderzocht, maar wie er nu de SVN-toegang heeft. Als die persoon de plugin morgen verkoopt aan iemand die er kwaad mee wil, krijgt niemand een melding. Het update-mechanisme blijft werken. De plugin verschijnt nog steeds in je dashboard met de vertrouwde naam.
Vergelijk dit even met andere ecosystemen. Apple verplicht een complete re-review van een iOS app als de eigenaar wisselt. Google Play heeft een verificatieproces voor nieuwe developers. WordPress.org controleert alleen of de huidige eigenaar de verkoop heeft goedgekeurd. De nieuwe eigenaar wordt niet beoordeeld, de eerste code commit wordt niet gereviewd, en bestaande gebruikers worden niet ingelicht.
Het transfer-proces werkte exact zoals het bedoeld is. Het was alleen niet bedoeld voor dit scenario.
Waarom acht maanden niets doen geen toeval was
Het meest verraderlijke aan deze aanval is de timing. De backdoor werd in augustus 2025 ingebouwd, maar pas in april 2026 geactiveerd. Acht maanden lang stuurde de plugin gewoon analytics-data. Geen verdacht netwerkverkeer, geen log-anomalieën, geen reden tot zorg.
Die wachttijd is geen technische beperking. Het is een operationele keuze.
In acht maanden tijd installeren site-eigenaren updates, doen back-ups van werkende sites, vergeten ze de aankoop van de plugin überhaupt. Beveiligingstools die plugins scannen op verdachte code vinden niets, omdat er op dat moment niets verdachts is. Wanneer de backdoor uiteindelijk wakker wordt, zit hij in tienduizenden back-ups van duizenden agencies. De infectie is dan al onderdeel van de geschiedenis van de site geworden.
Dit is het verschil tussen een inbreker die door je raam klimt, en iemand die je sleutels heeft gekopieerd, acht maanden gewacht heeft, en dan rustig binnenwandelt terwijl jij denkt dat de deur veilig op slot zit.
Wat dit voor jou betekent
De acute actie is hierboven al beschreven: check de 31 plugins, verwijder ze als ze er staan, controleer wp-config.php.
Maar daar moet het niet bij blijven. Want het echte probleem zit niet in deze 31 plugins — die zijn nu publiek bekend en gesloten. Het probleem zit in alle andere plugins waar dit zich op dit moment aan het herhalen kan zijn. Plugins die je vertrouwt omdat ze er al jaren zijn, terwijl ze ergens in 2025 of 2026 stilzwijgend van eigenaar zijn gewisseld.
Een paar vragen die ik aan iedere klant zou stellen die zelf zijn WordPress site beheert:
- Welke plugins draaien op je site, en wie zijn de huidige eigenaren?
- Heb je notificaties ingesteld voor eigendomswisselingen, of vertrouw je blind op de plugin-naam?
- Doe je file-integrity checks die afwijken van plugin-updates kunnen detecteren?
- Heb je back-ups die ver genoeg teruggaan om vóór een eventuele infectie te zitten?
- Monitor je SEO-spam injecties, of merk je het pas als Google Search Console je daarover een melding stuurt?
Voor de meeste WordPress site-eigenaren is het antwoord op vijf van deze vijf vragen "nee". En dat is geen kritiek — voor iemand die zijn site gebruikt om zijn bedrijf te runnen, is dit niet het soort werk waar je dagelijks tijd voor hebt.
De stille markt voor achterdeurtjes
Wat de Essential Plugin zaak vooral pijnlijk duidelijk maakt, is dat er een commerciële prikkel bestaat om dit te blijven doen. Een investering van zes cijfers in een plugin-portfolio met honderdduizenden installaties, gevolgd door acht maanden geduld en een SEO-spam netwerk dat draait op andermans infrastructuur — dat verdient zichzelf terug. De marktwaarde van populaire WordPress plugins is precies daarom de laatste jaren explosief gestegen.
We zullen dit vaker zien. In april 2026 was er trouwens al een tweede grote supply chain-aanval in dezelfde week (Smart Slider 3 Pro), via een ander mechanisme maar met dezelfde uitkomst. Dit is geen alarmistisch verhaal. Dit is gewoon hoe het ecosysteem nu werkt.
Onze positie hierin
Bij wpadmins doen we WordPress beheer voor klanten die de ruimte willen om aan hun bedrijf te werken in plaats van aan hun website. Een onderdeel daarvan is dat we plugins niet alleen updaten, maar ook actief monitoren wat er in dat update-pakket zit. Verandering van eigenaar, ongebruikelijke commits, plotseling sterk groeiende file-grootte — dat zijn signalen die we volgen, omdat ze het verschil maken tussen een veilige update en het binnenlaten van een Trojaans paard.
Het type aanval dat in april 2026 plaatsvond, is iets wat we sinds 2018 in onze beheermethode hebben verwerkt. Niet omdat we de toekomst voorspelden, maar omdat het patroon — software die je vertrouwt op basis van geschiedenis terwijl de eigenaar inmiddels iemand anders is — al jaren zichtbaar is bij andere aanvallen.
Voor wie geen tijd of expertise heeft om dit zelf te doen: dit is precies waar managed WordPress hosting voor bestaat. Niet alleen om de site online te houden, maar om wakker te zijn als de plugin die je gisteren vertrouwde, vandaag iemand anders zijn eigendom blijkt te zijn.
Het Trojaanse paard staat al binnen op een aanzienlijk deel van het WordPress landschap. De vraag is niet meer of het er staat — die vraag is of jij weet welke plugins op jouw site zijn van wie ze nu zijn.
Meer lezen over deze specifieke aanval: het complete technische overzicht staat bij mySites.guru en het oorspronkelijke onderzoeksrapport bij Anchor Hosting.
