Actuele situatie: PHP2Shell. Twee kritieke PHP-kwetsbaarheden (CVSS 9.2) maken schadelijke code zonder inloggen mogelijk. Patches sinds 21-10-2026.Wat u nu moet doen →

WooCommerce-beveiliging: webshop met klantgegevens na PHP2Shell beveiligen

Een WooCommerce-webshop bevat bestellingen, klantaccounts en toegangen tot betaaldienstverleners. Na PHP2Shell tellen gepatchte PHP, een schone checkout en gecontroleerde API-toegangen.

Stand 4 min. leestijdPlatforms

Kort gezegd: WooCommerce-beveiliging hangt na PHP2Shell allereerst af van de PHP van de server, niet van de webshopplug-in. Een webshop bevat klantgegevens, bestellingen en toegangen tot betaaldienstverleners, dus de PHP-patch alleen is niet genoeg. Controleer daarnaast de checkoutcode, REST-API-sleutels en webhooks.

Wat PHP2Shell betekent voor een WooCommerce-webshop

WooCommerce is een plug-in voor WordPress en draait dus op dezelfde PHP. De kwetsbaarheden CVE-2026-109618 en CVE-2026-109619 maken het volgens het PHP-team mogelijk om op afstand en zonder inloggen schadelijke code uit te voeren. Voor een webshop is dat ernstiger dan voor een visitekaartjeswebsite, omdat er meer op het spel staat:

  • namen, lever- en factuuradressen, telefoonnummers en e-mailadressen
  • bestelgeschiedenis en klantaccounts met wachtwoordhashes
  • API-sleutels en geheimen van de koppelingen met betaal-, verzend- en boekhoudaanbieders, opgeslagen in de database
  • downloads van digitale producten in de map wp-content/uploads/woocommerce_uploads/

Kaartgegevens staan bij ingebouwde betaalformulieren van de aanbieders meestal niet in de webshop. Een aanvaller met servertoegang kan echter het checkout-JavaScript zo wijzigen dat invoer wordt meegelezen voordat die wordt verzonden. Algemene tips voor handelaren vindt u onder IT-beveiliging voor webshops.

WooCommerce-beveiliging begint bij de PHP-versie

Onder WooCommerce > Status toont de systeemstatus in het onderdeel over de serveromgeving de PHP-versie waarmee de webshop daadwerkelijk draait. Verholpen upstreamversies zijn 8.5.12, 8.4.27, 8.3.36 en 8.2.35. Hostingproviders voeren correcties echter vaak als backport door; dan blijft het getoonde nummer oud. Vertrouw daarom op de schriftelijke bevestiging van de hostingprovider en op de herstart van alle PHP-processen.

Welke PHP-versies uw WooCommerce-versie ondersteunt, controleert u volgens de systeemeisen van de fabrikant op woocommerce.com. Een overstap naar een nieuwere hoofdversie van PHP doet u het best in een testomgeving, omdat betaal-plug-ins anders onopgemerkt kunnen uitvallen.

Waar aanvallers in WooCommerce-webshops aanzetten

Naast de bekende WordPress-schuilplaatsen zijn er webshoptypische plekken:

  • Template-overschrijvingen in het thema: map woocommerce/checkout/ in het actieve thema. Hier gewijzigde bestanden werken rechtstreeks door op de kassa en de orderbevestiging.
  • Betaal-plug-ins: gewijzigde bestanden in wp-content/plugins/ van de betaaldienstverlener.
  • REST-API-sleutels: onder WooCommerce > Instellingen > Geavanceerd > REST-API. Een vreemde sleutel met lees- of schrijfrechten is een achterdeur zonder bestand.
  • Webhooks: onder Geavanceerd > Webhooks. Een onbekende webhook kan elke nieuwe bestelling naar een vreemd adres sturen.
  • Rollen: nieuwe accounts met de rol "Winkelbeheerder" of "Beheerder".
  • Logbestanden: wp-content/uploads/wc-logs/ kan persoonsgegevens bevatten en mag niet openbaar opvraagbaar zijn.

Ongevaarlijke controles op de opdrachtregel:

# Beheerders en winkelbeheerders weergeven
wp user list --role=administrator
wp user list --role=shop_manager
# PHP-bestanden in het thema tonen die sinds 17-10-2026 zijn gewijzigd
find wp-content/themes -name "*.php" -newermt "2026-10-17"
Belangrijk

Een PHP-patch wist geen vreemde REST-API-sleutel en geen binnengebrachte webhook. Beide blijven ook na de update werken. Controleer de lijsten daarom actief en vernieuw bij een vermoeden de API-sleutels bij uw betaaldienstverleners.

Extensies en webshopupdates: wat ze doen en wat niet

Een typische WooCommerce-webshop gebruikt veel extensies: betaalmethoden, verzendlabels, factuurgeneratie, marktplaatskoppelingen, beoordelings- en marketingplug-ins. Elk daarvan is extra code met eigen kwetsbaarheden en vaak met eigen toegangen tot externe diensten. Houd de lijst kort en verwijder testinstallaties van oude betaalmethoden.

Een update van WooCommerce of WordPress dicht bekende fouten in deze onderdelen. Ze repareert PHP niet, verwijdert geen vreemde bestanden buiten de pluginmap en wist geen database-items zoals API-sleutels of webhooks. Hoe u herkent of er al iets is gebeurd, beschrijft Ben ik al gecompromitteerd?.

Als de PHP-update bij de hostingprovider nog op zich laat wachten, kan een voorgeschakeld filter tijd winnen. Het vervangt de patch niet; meer daarover onder WAF en virtueel patchen.

Verplichtingen bij een incident in de webshop

Raken persoonsgegevens van klanten verloren, dan kan binnen 72 uur een melding aan de toezichthouder voor gegevensbescherming nodig zijn. Dit is algemene informatie, geen juridisch advies. Betrek uw functionaris voor gegevensbescherming vroegtijdig en lees ons overzicht over de meldplicht volgens de AVG. Neem bovendien de voorschriften van uw betaaldienstverleners voor beveiligingsincidenten in acht.

Test na elke ingreep een volledig bestelproces met alle betaalmethoden die u aanbiedt. Let op ongebruikelijke tussenstappen, extra invoervelden of doorverwijzingen naar vreemde domeinen. De ontwikkelaarstools van de browser tonen welke scripts van welke adressen worden geladen; onbekende bronnen op de kassapagina zijn een waarschuwingssignaal. Documenteer de test met datum en resultaat.

Hoe helpt PHP SOS concreet?

  • Wij stemmen met uw hostingprovider de PHP-patchstatus af en laten de herstart van alle PHP-processen bevestigen.
  • Wij maken een kopie van logs, database en bestanden voordat wij iets wijzigen.
  • Wij controleren checkouttemplates, betaal-plug-ins, REST-API-sleutels, webhooks en gebruikersrollen.
  • Bij vondsten reinigen wij de webshop, vernieuwen wij samen met u de toegangen en documenteren wij het verloop voor gegevensbescherming en verzekeraar.

Veelgestelde vragen

Lopen creditcardgegevens in WooCommerce gevaar door PHP2Shell?

Dat hangt af van de koppeling met de betaaldienstverlener. Worden kaarten vastgelegd in een formulier van de aanbieder, dan staan ze meestal niet in de webshop. Een aanvaller met toegang tot de server kan de checkout echter zo wijzigen dat invoer eerder wordt onderschept.

Waar zie ik in WooCommerce de PHP-versie?

Onder WooCommerce > Status in het onderdeel over de serveromgeving. Het nummer toont de versie waarmee de webshop draait. Of er een backport is doorgevoerd, ziet u daaraan niet; dat moet de hostingprovider bevestigen.

Waarom zou ik de WooCommerce-webhooks controleren?

Webhooks sturen bij gebeurtenissen zoals nieuwe bestellingen gegevens naar een ingevoerd adres. Een heimelijk aangemaakte webhook kan bestelgegevens blijvend naar derden sturen, ook nadat PHP is gepatcht.

Moet ik bij een vermoeden de betaaldienstverleners informeren?

Bij een gegrond vermoeden moet u API-sleutels bij de aanbieder vernieuwen en zijn voorschriften voor beveiligingsincidenten naleven. Of er meldplichten gelden, bespreekt u met uw functionaris voor gegevensbescherming of advocaat.

Bronnen

Direct contact

Elk uur telt. Schrijf ons nu.

Beschrijf kort het systeem, de PHP-versie en wat u opmerkt. Wij nemen contact op, brengen de situatie in kaart en werken op afstand tot het incident is afgerond en gedocumenteerd.

Directe hulp