Een vulnerability is een zwakke plek in software, een systeem of een website waardoor kwaadwillenden toegang kunnen krijgen tot gegevens, bestanden of het beheerpaneel. In de context van cybersecurity gaat het concreet om technische fouten in code, instellingen of configuraties die een aanvaller kan misbruiken. Voor WordPress-websites zijn kwetsbaarheden een dagelijkse realiteit, maar met de juiste aanpak zijn ze goed te beheersen. Dit artikel beantwoordt de meest gestelde vragen: hoe ontstaan vulnerabilities, wat zijn de bekendste soorten, en wat doe je eraan?
Hoe ontstaat een vulnerability in een website?
Een vulnerability in een website ontstaat meestal door fouten die gemaakt worden tijdens het ontwerpen of programmeren van software. Denk aan invoervelden die niet goed worden gecontroleerd, verkeerde serverconfiguraties of verouderde technologie die niet meer wordt onderhouden. Kortom: overal waar code of instellingen niet kloppen, kan een aanvaller een opening vinden.
In de praktijk zijn er meerdere oorzaken die bijdragen aan het ontstaan van kwetsbaarheden. Moderne websites werken met tientallen losse onderdelen: plugins, thema’s, frameworks, databases en API-koppelingen. Al die onderdelen moeten correct samenwerken en correct geconfigureerd zijn. Gaat er ergens iets mis, dan kan dat een zwakke plek opleveren die van buitenaf te misbruiken is.
Wat het lastig maakt: vulnerabilities zijn niet altijd zichtbaar. Ze kunnen verborgen zitten in complexe technische omgevingen, en zelfs nadat ze ontdekt zijn, duurt het soms lang voordat ze worden opgelost. Dat komt doordat updates uitblijven, niet worden doorgevoerd of simpelweg over het hoofd worden gezien. Hoe meer onderdelen je website telt, hoe meer potentiële zwakke plekken er kunnen zijn.
Wat zijn de meest voorkomende soorten vulnerabilities?
De meest voorkomende soorten vulnerabilities in webapplicaties zijn Broken Access Control, Security Misconfiguration en Cross-Site Scripting (XSS). Deze drie categorieën staan bovenaan de OWASP Top 10 van 2025 Deze link opent in een nieuw tabblad, de internationale standaard voor webapplicatiebeveiliging, en zijn verantwoordelijk voor een groot deel van alle succesvolle aanvallen op websites.
Bij Broken Access Control gaat het om situaties waarbij gebruikers toegang krijgen tot onderdelen van een website waarvoor ze geen rechten zouden mogen hebben. Denk aan een bezoeker die het beheerpaneel kan bereiken zonder in te loggen. Bij Security Misconfiguration gaat het om verkeerd ingestelde componenten: open admin-interfaces, standaardwachtwoorden die nooit zijn gewijzigd, of te ruime bestandspermissies.
Cross-Site Scripting (XSS) is een aanvalsmethode waarbij kwaadaardige code via een invoerveld in een webpagina wordt geplaatst. Die code wordt vervolgens uitgevoerd in de browser van andere bezoekers, zonder dat zij dat merken. Voor WordPress is XSS al jaren de meest voorkomende kwetsbaarheid. Daarnaast is SQL-injectie een bekende aanvalsvorm: aanvallers injecteren kwaadaardige databaseopdrachten via invoervelden om gegevens te stelen of te manipuleren.
Wat is het verschil tussen een vulnerability, een exploit en een patch?
Een vulnerability is de zwakke plek zelf. Een exploit is de methode of het stukje code waarmee een aanvaller die zwakke plek actief misbruikt. Een patch is de oplossing: een update van de softwareontwikkelaar die de kwetsbaarheid dicht. Samen vormen deze drie begrippen de kern van hoe beveiligingslekken werken en worden opgelost.
Een handige vergelijking: een vulnerability is een kapot slot op je voordeur. De exploit is de inbreektechniek waarmee een inbreker dat kapotte slot opent. En de patch is de slotenmaker die een nieuw, werkend slot installeert. Zonder de patch blijft het slot kapot, ook als niemand er vandaag gebruik van maakt.
Een bijzondere categorie zijn de zogenoemde zero-day exploits. Dat zijn kwetsbaarheden die nog niet bekend zijn bij de softwareleverancier, en waarvoor dus nog geen patch bestaat. Aanvallers die zo’n kwetsbaarheid kennen, houden die soms bewust geheim om er zo lang mogelijk gebruik van te maken. Zodra een patch beschikbaar is, is het zaak die zo snel mogelijk toe te passen, want aanvallers kunnen binnen enkele uren na publicatie van een lek al geautomatiseerd systemen scannen op die kwetsbaarheid.
Hoe ernstig is een vulnerability en hoe wordt dat bepaald?
De ernst van een vulnerability wordt bepaald met het Common Vulnerability Scoring System, afgekort CVSS. Dit systeem geeft een score van 0 tot 10: hoe hoger de score, hoe ernstiger de kwetsbaarheid. Een score van 9 of hoger geldt als kritiek en vereist onmiddellijke actie. De huidige versie, CVSS 4.0, is uitgebracht in november 2023.
De score wordt berekend op basis van drie factoren. De Base Score kijkt naar de intrinsieke eigenschappen van de kwetsbaarheid: hoe makkelijk is ze te misbruiken, welke toegang heeft een aanvaller nodig, en wat is de impact? De Temporal Score houdt rekening met de beschikbaarheid van exploits en patches. De Environmental Score past de beoordeling aan op de specifieke situatie van een organisatie.
Belangrijk om te weten: een hoge CVSS-score betekent niet automatisch dat jouw website in gevaar is. Een kwetsbaarheid in software die je helemaal niet gebruikt, is voor jou minder relevant dan een kwetsbaarheid met een lagere score in een plugin die elke dag actief is. De ernst per organisatie Deze link opent in een nieuw tabblad hangt altijd af van de eigen context.
Hoe weet je of jouw website een vulnerability heeft?
Je kunt een vulnerability in je website opsporen met een vulnerabilityscan of een penetratietest. Een vulnerabilityscan is een geautomatiseerde inspectie die bekende zwakke plekken en configuratiefouten opspoort. Een penetratietest gaat een stap verder: een ethische hacker probeert de gevonden kwetsbaarheden ook daadwerkelijk te misbruiken om te zien hoe ver een aanvaller zou kunnen komen.
Zichtbare signalen dat er iets mis kan zijn met je WordPress-website zijn onder andere: een trage laadtijd zonder duidelijke reden, vreemde links die opeens op je pagina’s verschijnen, onbekende gebruikersaccounts in het beheerpaneel, of waarschuwingen van Google. Dit zijn geen definitieve bewijzen van een hack, maar wel aanleiding om verder te onderzoeken.
Een vulnerabilityscan geeft je ook zekerheid na een patchronde. In plaats van alleen te vertrouwen op een lijst van verstuurde updates, toont de scan of de kwetsbaarheden daadwerkelijk zijn gedicht. Dat is een stuk concreter dan hopen dat alles goed is gegaan.
Wat moet je doen als er een vulnerability gevonden wordt?
Als er een vulnerability gevonden wordt, is de eerste stap: patch zo snel mogelijk. Installeer de beschikbare beveiligingsupdate of pas de configuratie aan. Kun je niet direct patchen, beperk dan de schade door het systeem te isoleren, extra firewallregels in te stellen of de toegang te beperken. Wacht in geen geval af.
Heb jij als gebruiker of beveiligingsonderzoeker een kwetsbaarheid gevonden in de website van een andere organisatie? Dan kun je die melden via het principe van Coordinated Vulnerability Disclosure (CVD), ook wel bekend als Responsible Disclosure. Je geeft de organisatie de kans om het probleem op te lossen voordat het openbaar wordt gemaakt. Veel organisaties hebben hiervoor een officieel beleid op hun website staan, en het NCSC CVD-beleid Deze link opent in een nieuw tabblad beschrijft hoe dit in Nederland werkt.
Is er sprake van een datalek, waarbij persoonsgegevens zijn ingezien of gestolen? Dan geldt er een wettelijke meldplicht. Je moet het lek binnen 72 uur melden bij de Autoriteit Persoonsgegevens. Dit is geen optie, maar een verplichting, en het negeren ervan kan leiden tot flinke boetes.
Hoe voorkom je vulnerabilities in een WordPress-website?
Je voorkomt vulnerabilities in een WordPress-website door software consequent up-to-date te houden, zorgvuldig te kiezen welke plugins je installeert, sterke wachtwoorden te gebruiken en je website regelmatig te laten scannen. WordPress draait op meer dan 40% van alle websites wereldwijd, wat het platform een populair doelwit maakt voor geautomatiseerde aanvallen.
De meeste WordPress-kwetsbaarheden zitten niet in de kern van WordPress zelf, maar in plugins en thema’s van derden. Verouderde plugins zijn dan ook de grootste risicofactor. Kies daarom alleen voor plugins van ontwikkelaars met een aantoonbare staat van dienst op het gebied van regelmatige beveiligingsupdates, en verwijder plugins die je niet meer gebruikt. Een plugin die niet meer wordt onderhouden, is een open deur.
Een goede beveiliging bestaat uit meerdere lagen. Denk aan:
- Regelmatige updates van WordPress, plugins en thema’s, bij voorkeur geautomatiseerd of via een beheerde omgeving.
- Sterke wachtwoorden en tweefactorauthenticatie voor alle beheeraccounts.
- Een Web Application Firewall (WAF) die verdacht verkeer automatisch blokkeert.
- Een limiet op inlogpogingen om brute-forceaanvallen te stoppen.
- Betrouwbare hosting met actieve beveiligingsmonitoring en regelmatige back-ups.
- Periodieke vulnerabilityscans of pentests om zwakke plekken te vinden voordat aanvallers dat doen.
Bij Stuurlui zit veilig coderen in ons DNA. We werken zo dicht mogelijk bij de kern van WordPress, hanteren een strenge pluginselectie en voeren codereviews en pentests uit als vast onderdeel van ons ontwikkelproces. Dat is geen extraatje, maar een basisvereiste voor elke website die we opleveren.
Wil je weten hoe een goed gebouwde WordPress-website eruitziet van binnenuit? Bekijk dan wat wij doen op het gebied van WordPress-website laten maken en hoe we beveiliging vanaf dag één meenemen in elk project.