Dabartinė padėtis: PHP2Shell. Du kritiniai PHP pažeidžiamumai (CVSS 9,2) leidžia vykdyti kenkėjišką kodą be prisijungimo. Pataisos nuo 2026-10-21.Ką dabar daryti →

PrestaShop saugumo spraga PHP2Shell: kaip apsaugoti parduotuvę

PHP2Shell paveikia PrestaShop per serverio PHP. Po pataisos ir paleidimo iš naujo reikia patikrinti override aplankus, modulius, atsiskaitymą ir darbuotojų paskyras.

Būsena 4 min. skaitymoPlatformos

Trumpai: PrestaShop saugumo spraga, apie kurią dabar daug rašoma, yra PHP2Shell ir slypi PHP, o ne parduotuvėje. PrestaShop atnaujinimas nuo jos nepadeda. Po PHP pataisos ir paleidimo iš naujo patikrinkite aplanką override, modulius, atsiskaitymą ir darbuotojų paskyras.

Ką PHP2Shell reiškia PrestaShop prekybininkams

PrestaShop yra PHP programa, paplitusi tarp mažų ir vidutinių prekybininkų, dažnai bendrame talpinime ar paprastuose vServeriuose. PHP komandos teigimu, spragos CVE-2026-109618 ir CVE-2026-109619 leidžia vykdyti kenkėjišką kodą nuotoliniu būdu be prisijungimo, nepriklausomai nuo parduotuvės būsenos.

Parduotuvei statoma daug: klientų paskyros, adresai, užsakymai, sąskaitos ir prieigos prie mokėjimo bei siuntimo paslaugų. Užpuolikai parduotuvėse dažnai taikosi į atsiskaitymą, kur gali perskaityti mokėjimo įvestį, kol ji nepasiekė mokėjimo paslaugų teikėjo.

Prisideda ir laiko veiksnys. Žiniasklaidos pranešimais, pirmas išpuolio bandymas buvo pastebėtas 2026 m. spalio 17 d., o pataisos pasirodė 2026 m. spalio 21 d. Parduotuvė, kuri tuo metu buvo pasiekiama, gali būti paveikta, nors šiandien viskas atrodo normaliai. Patvirtintų kompromitavimo indikatorių (Indicators of Compromise) kol kas nėra; užuominų suteikia neįprastas elgesys, nauji failai ir duomenų bazės pakeitimai.

PrestaShop saugumo spraga: PHP versijos patikra Back Office

Skiltyje Išplėstiniai nustatymai > Informacija PrestaShop rodo veikiančio diegimo serverio ir PHP duomenis. Ištaisytos oficialios (upstream) versijos yra 8.5.12, 8.4.27, 8.3.36 ir 8.2.35. Talpintojai taisymus kartais įdiegia kaip atgalinį perkėlimą (backport), tada rodomas numeris lieka toks pats. Paprašykite patvirtinti būseną raštu.

Kurias PHP versijas palaiko jūsų PrestaShop versija, pagal sistemos reikalavimus gamintojo dokumentacijoje patikrinkite prestashop.com. Senesnės 1.6 ir 1.7 versijų parduotuvės dažnai veikia su senesnėmis PHP versijomis; tada, kol bus galimas atnaujinimas, galioja tai, kas parašyta puslapyje Skubios priemonės be pataisos.

Tipinės kenkėjiško kodo slėptuvės PrestaShop

Vieta Turinys Patikros punktas
app/config/parameters.php (senesnėse versijose config/settings.inc.php) Duomenų bazės prieiga, slapukų raktas Keitimo data, atnaujinti kilus įtarimui
override/ perrašytos klasės ir valdikliai kiekvienas failas turi būti paaiškinamas
modules/ Moduliai iš prekyvietės ir iš trečiųjų šalių nežinomi moduliai, pakeisti failai
themes/ Šablonai ir JavaScript, taip pat atsiskaitymui svetimi scenarijai
img/, upload/, download/ Paveikslėliai, klientų įkėlimai, skaitmeniniai produktai jokių PHP failų
var/cache/, var/logs/ Talpykla ir žurnalai išsaugoti žurnalus, talpyklą sugeneruoti iš naujo
install/ Diegimo aplankas veikiant parduotuvei jo būti negali

Aplankas override nusipelno ypatingo dėmesio. Ten padėtas kodas pakeičia PrestaShop dalis, pavyzdžiui, užsakymo ar mokėjimo apdorojimą, ir atnaujinant automatiškai nepašalinamas.

Nepavojingos patikros komandinėje eilutėje ir duomenų bazėje (lentelių priešdėlis priklauso nuo diegimo):

find override -name "*.php" -newermt "2026-10-17"
find img upload download -type f -name "*.php"
ls -d admin*
SELECT email, firstname, lastname, active FROM ps_employee;
Veikti nedelsiant

Jei klientai praneša apie neįprastus mokėjimo puslapius ar kortelės panaudojimą po pirkimo, atjunkite atsiskaitymą nuo tinklo ir išsaugokite žurnalus nuo 2026 m. spalio 20 d. Pakeistas atsiskaitymas gali perimti duomenis per kiekvieną tolesnį pirkimą.

Back Office, darbuotojų paskyros ir moduliai

Back Office yra kataloge su individualiu pavadinimu, suteiktu diegimo metu. Skiltyje Išplėstiniai nustatymai patikrinkite darbuotojų paskyras ir profilius dėl nežinomų ar apleistų prieigų, pavyzdžiui, iš ankstesnių agentūrų. Jei įmanoma, administravimo katalogą apribokite žinomiems tinklams.

Moduliai iš prekyvietės ir iš trečiųjų šalių papildo mokėjimą, siuntimą, rinkodarą ir sąsajas. Kiekvienas modulis yra papildomas PHP kodas, o moduliai be aktyvios priežiūros yra vieni dažniausių įsilaužimo kelių PrestaShop parduotuvėse. Nenaudojamus pašalinkite ir ištrinkite, o ne tik išjunkite. Taip pat patikrinkite API Webservice raktus dėl nežinomų įrašų.

Ką gali PrestaShop atnaujinimas ir ko ne

PrestaShop ar atskirų modulių atnaujinimas uždaro šio kodo klaidas. Jis netaiso PHP, nepaleidžia procesų iš naujo ir nepašalina nei pakeitimų (overrides), nei svetimų modulių, scenarijų temoje ar naujų darbuotojų paskyrų. Jei buvo perimti asmens duomenys, gali kilti pareiga pranešti; bendros informacijos pateikia BDAR pareiga pranešti: 72 valandos, vertinimą konkrečiu atveju atlieka jūsų duomenų apsaugos pareigūnas. Ką prekybininkai turėtų atsižvelgti papildomai, apibendrina IT sauga internetinėms parduotuvėms.

Parduotuvėse su keliomis šalimis ar multistore funkcija vienas diegimas dažnai aptarnauja kelis domenus. Radinys tada liečia visas parduotuves, net jei neįprastumas pastebėtas tik vienoje.

Kaip PHP SOS padeda konkrečiai?

  • Su jūsų talpintoju išsiaiškiname PHP būseną, atgalinį perkėlimą (backport) ir paleidimą iš naujo.
  • Išsaugome žurnalus, failus ir duomenų bazę ir dokumentuojame pradinę būseną.
  • Tikriname pakeitimus (overrides), modulius, temą, įkėlimų aplankus, darbuotojų paskyras ir Webservice raktus.
  • Radus pėdsakų mūsų kenkėjiškų programų šalinimas atlieka išvalymą ir prieigų atnaujinimą.

Dažni klausimai

Ar PrestaShop atnaujinimas uždaro PHP2Shell?

Ne. PrestaShop atnaujinimai taiso parduotuvės kodo klaidas. PHP2Shell spragos yra PHP interpretatoriuje ir uždaromos tik PHP atnaujinimu arba patvirtintu atgaliniu perkėlimu (backport) su visų PHP procesų paleidimu iš naujo.

Kur PrestaShop galiu pamatyti PHP versiją?

Back Office skiltyje Išplėstiniai nustatymai > Informacija. Ten pateikti serverio ir PHP duomenys. Įdiegto atgalinio perkėlimo iš numerio atpažinti negalima; tai patvirtina jūsų talpintojas.

Kas yra override aplankas ir kodėl jį tikrinti?

Aplanke override galima perrašyti PrestaShop klases ir valdiklius. Ten esantis kodas vykdomas vietoj originalo, pavyzdžiui, atsiskaitant. Todėl nežinomi pakeitimai (overrides) yra svarbus patikros punktas kilus įtarimui.

Ar administravimo katalogas turi būti pervadintas?

Diegiant PrestaShop administravimo katalogui suteikia savo pavadinimą. Tai apsunkina jo suradimą, bet nepakeičia stiprių slaptažodžių, dviejų veiksnių prisijungimo ir prieigos apribojimo.

Šaltiniai

Skubus kontaktas

Kiekviena valanda svarbi. Parašykite mums dabar.

Trumpai aprašykite sistemą, PHP versiją ir pastebėjimus. Mes atsakysime, išsiaiškinsime padėtį ir dirbsime nuotoliu, kol incidentas bus užbaigtas ir dokumentuotas.

Skubi pagalba