Na kratko: Varnost WooCommerce je po PHP2Shell najprej odvisna od PHP na strežniku, ne od vtičnika trgovine. Trgovina hrani podatke kupcev, naročila in dostope do ponudnikov plačil, zato sam popravek PHP ne zadošča. Dodatno preverite kodo blagajne, ključe REST API in webhooke.
Kaj PHP2Shell pomeni za trgovino WooCommerce
WooCommerce je vtičnik za WordPress in zato teče na istem PHP. Ranljivosti CVE-2026-109618 in CVE-2026-109619 po navedbah ekipe PHP omogočata izvajanje škodljive kode na daljavo brez prijave. Za trgovino je to resneje kot za vizitko na spletu, ker je na kocki več:
- imena, naslovi za dostavo in račune, telefonske številke in e-poštni naslovi
- zgodovina naročil in računi kupcev z zgoščenimi vrednostmi gesel
- ključi API in skrivnosti povezav s ponudniki plačil, pošiljanja in računovodstva, shranjeni v podatkovni zbirki
- prenosi digitalnih izdelkov v mapi
wp-content/uploads/woocommerce_uploads/
Podatki o karticah pri vgrajenih obrazcih ponudnikov plačil praviloma niso v trgovini. Napadalec z dostopom do strežnika pa lahko JavaScript blagajne spremeni tako, da se vnosi pred oddajo hkrati preberejo. Splošne napotke za trgovce najdete v prispevku IT-varnost za spletne trgovine.
Varnost WooCommerce se začne pri različici PHP
Pod WooCommerce > Stanje sistemsko poročilo v razdelku o strežniškem okolju prikaže različico PHP, s katero trgovina dejansko teče. Odpravljene različice izvorne kode so 8.5.12, 8.4.27, 8.3.36 in 8.2.35. Ponudniki gostovanja pa popravke pogosto vgradijo kot backport, takrat prikazana številka ostane stara. Zato se zanesite na pisno potrditev ponudnika gostovanja in ponovni zagon vseh procesov PHP.
Katere različice PHP podpira vaša različica WooCommerce, preverite v sistemskih zahtevah proizvajalca na woocommerce.com. Prehod na novejšo glavno različico PHP naj poteka v testnem okolju, ker lahko sicer vtičniki za plačila neopazno odpovedo.
Kje napadalci udarijo v trgovinah WooCommerce
Poleg znanih skrivališč WordPressa obstajajo mesta, značilna za trgovine:
- Prepisi predlog v temi: mapa
woocommerce/checkout/v aktivni temi. Tu spremenjene datoteke neposredno vplivajo na blagajno in potrdilo naročila. - Vtičniki za plačila: spremenjene datoteke ponudnika plačil v
wp-content/plugins/. - Ključi REST API: pod WooCommerce > Nastavitve > Napredno > REST API. Tuj ključ s pravicami branja ali pisanja je stranska vrata brez datoteke.
- Webhooki: pod Napredno > Webhooks. Neznan webhook lahko vsako novo naročilo pošlje na tuj naslov.
- Vloge: novi računi z vlogo »Upravitelj trgovine« ali »Skrbnik«.
- Dnevniki:
wp-content/uploads/wc-logs/lahko vsebuje osebne podatke in ne sme biti javno dostopna.
Neškodljivi pregledi v ukazni vrstici:
# Izpiši skrbnike in upravitelje trgovine
wp user list --role=administrator
wp user list --role=shop_manager
# Prikaži datoteke PHP v temi, spremenjene od 17. 10. 2026
find wp-content/themes -name "*.php" -newermt "2026-10-17"
Popravek PHP ne izbriše tujega ključa REST API in ne vnesenega webhooka. Oba delujeta naprej tudi po posodobitvi. Sezname zato aktivno preglejte in ob sumu pri svojih ponudnikih plačil obnovite ključe API.
Razširitve in posodobitve trgovine: kaj zmorejo in česa ne
Tipična trgovina WooCommerce uporablja veliko razširitev: načine plačila, nalepke za pošiljanje, izdajanje računov, povezave s tržnicami, vtičnike za ocene in trženje. Vsaka je dodatna koda z lastnimi ranljivostmi in pogosto z lastnimi dostopi do zunanjih storitev. Seznam naj bo kratek, testne namestitve starih načinov plačila pa odstranite.
Posodobitev WooCommerce ali WordPressa zapre znane napake v teh komponentah. Ne popravi PHP, ne odstrani tujih datotek zunaj mape vtičnika in ne izbriše vnosov v podatkovni zbirki, kot so ključi API ali webhooki. Kako prepoznate, ali se je že kaj zgodilo, opisuje prispevek Ali smo že ogroženi?.
Če posodobitev PHP pri ponudniku gostovanja še čaka, lahko filter pred trgovino pridobi čas. Popravka ne nadomešča; več o tem v prispevku WAF in virtualno popravljanje.
Obveznosti ob incidentu v trgovini
Če izginejo osebni podatki kupcev, je lahko potrebna prijava nadzornemu organu za varstvo podatkov v 72 urah. To je splošna informacija, ne pravno svetovanje. Zgodaj vključite pooblaščenca za varstvo podatkov in preberite naš pregled obveznosti prijave po GDPR. Upoštevajte tudi pravila svojih ponudnikov plačil za varnostne incidente.
Po vsakem posegu preizkusite celoten postopek naročila z vsemi načini plačila, ki jih ponujate. Bodite pozorni na nenavadne vmesne korake, dodatna polja za vnos ali preusmeritve na tuje domene. Razvijalska orodja brskalnika pokažejo, katere skripte se nalagajo iz katerih naslovov; neznani viri na strani blagajne so opozorilni znak. Preizkus dokumentirajte z datumom in rezultatom.
Kako PHP SOS pomaga konkretno?
- S ponudnikom gostovanja razjasnimo stanje popravkov PHP in dosežemo potrditev ponovnega zagona vseh procesov PHP.
- Dnevnike, podatkovno zbirko in datoteke zavarujemo, preden karkoli spremenimo.
- Preverimo predloge blagajne, vtičnike za plačila, ključe REST API, webhooke in uporabniške vloge.
- Ob najdbah trgovino očistimo, z vami obnovimo dostope in potek dokumentiramo za varstvo podatkov in zavarovanje.
Pogosta vprašanja
Ali so podatki o kreditnih karticah v WooCommerce zaradi PHP2Shell ogroženi?
To je odvisno od vgradnje ponudnika plačil. Če se kartice vnašajo v obrazec ponudnika, običajno niso v trgovini. Napadalec z dostopom do strežnika pa lahko blagajno spremeni tako, da vnose prestreže že prej.
Kje v WooCommerce vidim različico PHP?
Pod WooCommerce > Stanje v razdelku o strežniškem okolju. Številka kaže različico, s katero trgovina teče. Ali je nameščen backport, iz nje ne razberete; to mora potrditi ponudnik gostovanja.
Zakaj naj preverim webhooke WooCommerce?
Webhooki ob dogodkih, kot so nova naročila, pošiljajo podatke na vpisani naslov. Na skrivaj ustvarjen webhook lahko podatke o naročilih trajno pošilja tretjim osebam, tudi potem ko je PHP popravljen.
Ali moram ob sumu obvestiti ponudnike plačil?
Ob utemeljenem sumu pri ponudniku obnovite ključe API in upoštevajte njegova pravila za varnostne incidente. Ali obstajajo obveznosti prijave, razjasnite s pooblaščencem za varstvo podatkov ali odvetnikom.