SQL injectie aangetroffen in WooCommerce

Op 13 juli 2021 zijn er een tweetal kwetsbaarheden aangetroffen die gebruik maken van SQL-injecties. Deze injecties kunnen het lekken van persoonsgegevens tot gevolg hebben. Mocht jouw site nog niet up-to-date zijn; stop dan met lezen en installeer direct de update of stel jouw developer op de hoogte.

Mocht je opzoek zijn naar specifieke informatie, dan kan je met het onderstaande menu direct naar het onderwerp dat voor jou interessant is:

Wat is een SQL-injectie

Een SQL-injection is één van de meest voorkomende technieken die gebruikt wordt door hackers. SQL is een methode waarop gegevens opgehaald en opgeslagen worden in een database. Door manipulatieve codes te “injecteren” tussen de web-applicatie en de database, kan een hacker toegang krijgen tot de gegevens van een database, maar ook de server waar deze database op draait.

SQL-injecties komen meestal voor op pagina’s waarbij er invoer van de bezoeker verwacht wordt. Een voorbeeld hiervan is een contact-formulier. In plaats van het versturen van de gegevens die de server verwacht bij dit formulier, manipuleert de hacker deze gegevens waardoor er mogelijk delen van deze input uitgevoerd kunnen worden op de database.

Mocht je meer willen weten over dit soort aanvallen dan is deze link misschien wel iets voor jou. Door een dergelijke aanval te begrijpen is het een stuk makkelijker om deze af te weren, doe er je voordeel mee!

Hoe zijn deze kwetsbaarheden gevonden

Deze kwetsbaarheden zijn bekendgemaakt aan de ontwikkelaars via een bug-bounty programma. Door gebruik te maken van een bounty-programma, motiveren de ontwikkelaars het melden van dergelijke beveiligingsrisico’s. Zodra een kwetsbaarheid is gemeld, hebben de ontwikkelaars een bepaalde tijd voordat het publiekelijk bekend gemaakt wordt. Dit zorgt ervoor dat problemen zo snel mogelijk opgelost worden.

Na een vooraf afgesproken periode mogen de vinders van de fout hier informatie over gaan vrijgeven. Deze informatie kan vervolgens gebruikt worden om ook binnen andere software risico’s te analyseren. Door beveiligingsproblemen op zo’n manier kenbaar te maken hebben de ontwikkelaars een redelijk termijn om de aanpassingen door te voeren en kunnen de beveiligingsonderzoekers toch de bevindingen publiceren.

Ben je benieuwd naar het bug-bounty programma van Automattic (de makers van WooCommerce en WordPress), klik dan hier.

Wat zijn de gevolgen van deze SQL-injecties

De gevonden kwetsbaarheden stellen een hacker in staat om gegevens in de database te lezen, aan te passen en te verwijderen. Op het moment dat een hacker toegang heeft tot de WooCommerce omgeving, kan het zijn dat er ook persoonsgegevens worden onttrokken. Het gaat dan om gegevens die aanwezig zijn in de database. Denk hierbij aan bestellingen en adresgegevens. Op het moment dat je gebruik maakt van een externe betaalprovider is de kans klein dat deze gegevens ook zijn buitgemaakt.

De kwetsbaarheden komen voor binnen twee plugins; WooCommerce en WooCommerce Blocks, de tweede is een uitbreiding voor WooCommerce van dezelfde makers. Op het moment dat alleen WooCommerce actief is op jouw site, dan is de kwetsbaarheid alleen toegankelijk als iemand al toegang heeft tot beheer-omgeving van WordPress. In dit geval is de kans dat er op jouw site misbruik is gemaakt van deze kwetsbaarheid dus klein (mist je een sterk wachtwoord gebruikt en deze met regelmaat aanpast).

Op het moment dat je gebruikmaakt van de WooCommerce Blocks plugin, is het helaas een ander verhaal. Als deze plugin actief is, kan de SQL-injectie ook plaatsvinden zonder dat de hacker toegang hoeft te hebben tot jouw beheer-omgeving. In dat geval is het raadzaam om de logs te gaan bekijken om abnormaliteiten te vinden. Op het moment dat je sporen tegenkomt van misbruik dan is het uiteraard van belang dat jij jouw klanten zo snel mogelijk op de hoogte stelt van een mogelijk beveiligingslek. Mocht je ondersteuning willen bij het onderzoeken of jij daadwerkelijk slachtoffer bent geworden van deze kwetsbaarheid, neem dan gerust contact op.

Hoe controleer ik of ik de update geïnstalleerd heb?

Zodra je bent ingelogd binnen jouw WordPress Dashboard, ga je via het linker menu naar “Plugins”. Vervolgens krijg je een lijst te zien met de geinstalleerde plugins op jouw website. In deze lijst zoek je WooCommerce op en bekijk je het versie-nummer. WooCommerce heeft voor verschillende versies een beveiligings-update uitgebracht, in de tabel onderaan kan je per versie zien welk nummer de beveiligingsupdate heeft. Het is van belang dat de versie gelijk is aan, of hoger is dan de versie in de tabel. Mocht je er niet helemaal uitkomen, neem dan gerust contact op.

Is WooCommerce nog wel veilig?

In het kort; absoluut!
WooCommerce is een geweldige tool om een WordPress website om te toveren tot een webshop. Door de code open-source te maken kunnen heel veel verschillende mensen meedenken aan de functies en de beveiliging ervan. Door daarnaast gebruik te maken van een “bug bounty” programma, motiveren ze hackers en ontwikkelaars om actief opzoek te gaan naar manieren hoe het systeem misbruikt kan worden. Waar het gevoelsmatig misschien onveilig lijkt om de broncode van een webshop publiekelijk inzichtelijk te hebben, verhoogt dit dus juist de veiligheid.

Ieder systeem dat verbonden is aan het internet loopt een risico, door regelmatig onderhoud en risico-analyses uit te voeren, verklein je de kansen dat jouw webshop slachtoffer wordt van misbruik. Mocht je naar aanleiding van dit bericht benieuwd zijn naar mijn adviezen voor jouw webshop, bekijk dan gerust wat ik voor jou zou kunnen doen.

Versie-overzicht van de beveiligingsupdates

BranchVersie
5.55.5.1
5.45.4.2
5.35.3.1
5.25.2.3
5.15.1.1
5.05.0.1
4.94.9.3
4.84.8.1
4.74.7.2
4.64.6.3
4.54.5.3
4.44.4.2
4.34.3.4
4.24.2.3
4.14.1.2
4.04.0.2
3.93.9.4
3.83.8.2
3.73.7.2
3.63.6.6
3.53.5.9
3.43.4.8
3.33.3.6
Bekijk hier de meest recente versie per branch.