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 →

Shopware 6 saugumo spraga PHP2Shell: kaip apsaugoti parduotuvę

PHP2Shell paveikia Shopware 6 per serverio PHP. Svarbi PHP pataisa ir paleidimas iš naujo, o po to .env, įskiepių, public katalogo ir API integracijų patikra.

Būsena 4 min. skaitymoPlatformos

Trumpai: Shopware 6 saugumo spraga, kurios dabar ieško daug prekybininkų, iš tikrųjų yra PHP spraga. Shopware atnaujinimai jos neuždaro. Reikia pataisyto PHP ir visų procesų paleidimo iš naujo, o po to reikėtų patikrinti .env, custom/plugins, katalogą public ir API integracijas.

Ką PHP2Shell reiškia Shopware 6

Shopware 6 remiasi PHP karkasu Symfony ir dažniausiai veikia su PHP-FPM už Nginx ar Apache. Spragos CVE-2026-109618 ir CVE-2026-109619 liečia būtent šį veikimo būdą. PHP komandos teigimu, jos leidžia vykdyti kenkėjišką kodą nuotoliniu būdu, neprisijungus prie parduotuvės.

Užpuolikas, vykdantis kodą serveryje, pasiekia viską, prie ko prieina pati parduotuvė: klientų duomenis, užsakymus, sąskaitų dokumentus, prieigos duomenis prie prekių apskaitos ir mokėjimo paslaugų teikėjų. Techninį pagrindą paaiškiname puslapyje Kas yra PHP2Shell?.

Shopware 6 saugumo spragos patikra: koks PHP veikia iš tikrųjų?

Shopware 6 dažnai prižiūrima per komandinę eilutę, pavyzdžiui, su bin/console. Čia lengva suklysti: php -v rodo komandinės eilutės PHP versiją, o ne būtinai PHP-FPM, kuris apdoroja parduotuvės užklausas, versiją. Daugelyje serverių lygiagrečiai įdiegtos kelios PHP versijos.

Patikimi šaltiniai yra konkrečiam domenui skirtas nurodymas talpinimo valdymo skydelyje ir talpintojo patvirtinimas apie paketų būseną. Ištaisytos oficialios (upstream) versijos yra 8.5.12, 8.4.27, 8.3.36 ir 8.2.35; atgalinio perkėlimo (backport) versijos gali turėti senesnius numerius. Kurias PHP versijas palaiko jūsų Shopware versija, pagal sistemos reikalavimus patikrinkite dokumentacijoje shopware.com. Kaip patikrinti patiems, aprašyta puslapyje Kaip teisingai patikrinti PHP versiją ir pataisų būseną.

Shopware 6 dažnai pamirštamas vienas dalykas: daug parduotuvių žinučių eilę ir suplanuotas užduotis apdoroja nuolat veikiančiais foniniais procesais, pavyzdžiui, bin/console messenger:consume po procesų tvarkykle. Šie procesai PHP įkelia vieną kartą paleidimo metu. Todėl po atnaujinimo reikia iš naujo paleisti ne tik PHP-FPM, bet ir šiuos vykdytojus. Kitaip dalis parduotuvės toliau veiks su sena, pažeidžiama PHP versija atmintyje.

Katalogai ir failai, kuriuos verta žinoti

Vieta Turinys Kodėl svarbu
.env, .env.local Duomenų bazės prieiga, APP_SECRET, kiti raktai Kilus įtarimui atnaujinti
public/ Dokumentų šaknis su index.php, medija, temos failai Papildomi PHP failai įtartini
public/theme/ sukompiliuoti Storefront JavaScript ir CSS failai Vieta įterptiems skimeriams
custom/plugins/, custom/apps/ Plėtiniai Pakeistas įskiepio kodas
files/ privatūs failai, pvz., sąskaitos ir važtaraščiai Asmens duomenys
var/log/ Parduotuvės žurnalai Išsaugoti pėdsakus

Nepavojingos pirmosios patikros:

# Parodyti įdiegtus įskiepius su versija ir būsena
bin/console plugin:list
# Išvardyti PHP failus viešajame kataloge
find public -type f -name "*.php"
# Parodyti žinomas Composer priklausomybių spragas
composer audit

Aplanke public/ turėtų būti tik keli žinomi PHP failai. Viskas nežinoma turi būti išsaugota ir ištirta, o ne iškart ištrinta.

Patarimas

Administravime skiltyje Nustatymai > Sistema patikrinkite dalis „Naudotojai ir teisės“ ir „Integracijos“. Nežinomi naudotojai ar API integracijos yra užpakalinės durys, kurių nepastebi joks failų skenavimas.

Administratoriaus prieiga, įskiepiai ir programėlės kaip rizika

Administravimas pagal numatytuosius nustatymus yra adresu /admin. Apsaugokite jį asmeninėmis paskyromis, stipriu prisijungimu ir, jei įmanoma, prieigos apribojimu žinomiems tinklams. Integracijos prekių apskaitai, prekyvietėms ar siuntų tarnyboms turėtų turėti tik tas teises, kurių joms tikrai reikia.

Parduotuvės įskiepiai ir savos kūrimo išvystymai atneša savo PHP kodą, o programėlės (Apps) papildomai webhook'us į išorinius serverius. Kuo daugiau plėtinių, tuo didesnis atakos paviršius ir tuo sudėtingesnis kiekvienas PHP atnaujinimas. Nebenaudojamus įskiepius pašalinkite visiškai.

Ką gali Shopware atnaujinimas ir ko ne

Shopware ar įskiepio atnaujinimas uždaro žinomas šio kodo klaidas. Jis negali:

  • pataisyti PHP serveryje,
  • iš naujo paleisti senų PHP-FPM procesų,
  • patikimai pašalinti svetimų failų public/ aplanke ar pakeistų temos failų,
  • ištrinti svetimų naudotojų ar integracijų,
  • įrodyti, kad iki pataisos nieko neįvyko.

Po PHP atnaujinimo į naują pagrindinę versiją reikėtų iš naujo sugeneruoti talpyklą ir temą, o parduotuvę patikrinti bandomojoje aplinkoje. PHP keitimą su įrodymu pageidaujant atlieka mūsų PHP pataisų paslauga.

Didesnių prekybininkų Shopware 6 dažnai veikia keliuose programų serveriuose. Tada kiekvienas serveris turi būti pataisytas ir iš naujo paleistas, įskaitant tuos, kurie atlieka tik foninius darbus. Jei paslaugų teikėjas valdo parduotuvę kaip valdomą platformą, jis turėtų patvirtinti jums visų mazgų būseną.

Kaip PHP SOS padeda konkrečiai?

  • Nustatome, kokį PHP jūsų parduotuvė iš tikrųjų naudoja per FPM, ir su talpintoju ar agentūra suderiname pataisą bei paleidimą iš naujo.
  • Išsaugome žurnalus nuo 2026 m. spalio 20 d., duomenų bazę ir failus.
  • Tikriname public/, sukompiliuotus temos failus, įskiepius, naudotojus ir integracijas dėl įtartinų požymių.
  • Radę pėdsakų išvalome parduotuvę kartu su jūsų agentūra ir tvarkingai atnaujiname raktus bei prieigas.

Dažni klausimai

Ar pati Shopware 6 paveikta PHP2Shell?

Spragos slypi PHP, o ne Shopware kode. Todėl kiekviena Shopware 6 parduotuvė su nepataisytu PHP potencialiai pažeidžiama, nepriklausomai nuo Shopware versijos. Shopware atnaujinimas to nekeičia.

Kuris Shopware 6 failas po išpuolio ypač kritiškas?

Failas .env arba .env.local su duomenų bazės prieiga ir APP_SECRET. Kas galėjo jį perskaityti, žino jūsų prieigos duomenis. Kilus įtarimui šias reikšmes reikėtų atnaujinti, suderinus su jūsų agentūra.

Kas yra integracijos Shopware 6 ir kodėl jas tikrinti?

Integracijos yra API prieigos išorinėms sistemoms, pavyzdžiui, prekių apskaitai ar prekyvietėms. Svetima integracija su administratoriaus teisėmis leidžia visiškai valdyti parduotuvę per API, nors serveryje nėra jokio failo.

Š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