Aktuálna situácia: PHP2Shell. Dve kritické zraniteľnosti PHP (CVSS 9.2) umožňujú spustenie škodlivého kódu bez prihlásenia. Záplaty od 21. 10. 2026.Čo treba urobiť teraz →

Zraniteľnosť Magento PHP2Shell: zabezpečiť Magento a Adobe Commerce

PHP2Shell zasahuje Magento cez PHP. Okrem záplaty a reštartu sa pri Magento počítajú najmä env.php, skimmery v databáze a skryté účty administrátorov.

Stav 4 min čítaniaPlatformy

Stručne: Aktuálna zraniteľnosť Magento sa volá PHP2Shell a nie je v Magento, ale v PHP. Záplata Magento ju neuzatvorí. Po aktualizácii PHP s reštartom by ste mali skontrolovať app/etc/env.php, databázu na skimmery a zoznam účtov administrátorov.

Čo PHP2Shell znamená pre obchody na Magento

Magento Open Source a Adobe Commerce sú veľké aplikácie v PHP, ktoré väčšinou bežia s PHP-FPM. Zraniteľnosti CVE-2026-109618 a CVE-2026-109619 podľa tímu PHP umožňujú spustenie škodlivého kódu bez prihlásenia. Či je samotný obchod aktuálny, na tom nezáleží.

Obchody na Magento sú už roky obľúbeným cieľom skimmingu kreditných kariet, pri ktorom sa odpočúvajú zadané údaje v pokladni. PHP2Shell k tomu otvára ďalšiu cestu. Palo Alto Networks napočítalo viac než 22,6 milióna exponovaných, potenciálne zraniteľných inštancií PHP; ktoré obchody medzi nimi sú, nie je známe.

Zraniteľnosť Magento: správne zistiť stav PHP

Magento verziu PHP v administrácii nezobrazuje výrazne. Stav preto skontrolujte v hostingovom paneli pre doménu alebo si ho nechajte potvrdiť poskytovateľom hostingu. php -v v príkazovom riadku ukazuje len PHP CLI, s ktorým bežia bin/magento a cron úlohy. Webové PHP cez FPM môže byť iná verzia a záplatované musia byť obe.

Opravené upstream verzie sú 8.5.12, 8.4.27, 8.3.36 a 8.2.35; backporty distribúcií môžu niesť staršie čísla. Ktoré verzie PHP vaša verzia Magento podporuje, skontrolujte podľa systémových požiadaviek v dokumentácii Adobe (experienceleague.adobe.com). Pri Adobe Commerce na infraštruktúre Adobe sa na stav spýtajte Adobe alebo svojho prevádzkovateľa. Návod krok za krokom ponúka stránka Správne skontrolovať verziu PHP a stav záplat.

Kde sa škodlivý kód v Magento nachádza

Miesto Obsah Bod kontroly
app/etc/env.php Databáza, šifrovací kľúč, cesta do admina Dátum zmeny, hodnoty pri podozrení obnoviť
pub/ Koreň dokumentov, pub/media, pub/static Súbory PHP v priečinkoch media a static
app/code/ Vlastné moduly Neznáme moduly, zmenené súbory
vendor/ Balíky Composeru, aj rozšírenia Odchýlky od lockfile
generated/, var/ Vygenerovaný kód, cache, logy Zálohovať logy, kód vygenerovať znovu
Databáza Konfigurácia, bloky CMS, administrátorskí používatelia Cudzie skripty, noví admini

Skimmery sa v Magento často nachádzajú v databáze, napríklad v nastaveniach pre dodatočné skripty v hlavičke alebo päte stránky a v blokoch CMS. Samotné skenovanie súborov ich prehliadne. Neškodné čítacie prístupy pomôžu pri prvom pohľade (predpona tabuliek podľa inštalácie):

bin/magento info:adminuri
bin/magento module:status
SELECT username, email, created FROM admin_user;
SELECT path, value FROM core_config_data WHERE path LIKE 'design/%' AND value LIKE '%<script%';
Dôležité

Vyčistená pokladňa neznamená, že nič neuniklo. Zálohujte logy od 20. 10. 2026 a výpisy databázy skôr, než odstránite skripty. Iba tak sa neskôr dá zistiť, odkedy a ktorých objednávok sa to týkalo.

Administračná oblasť a rozšírenia

Cesta do administrácie je v Magento voliteľná a nachádza sa v env.php. Ťažko uhádnuteľná cesta je užitočná, no nenahrádza dvojfaktorové prihlásenie ani obmedzenie na známe siete. Pravidelne kontrolujte administrátorských používateľov a ich roly, rovnako integrácie a tokeny API.

Rozšírení od tretích strán je pri Magento veľa: platobné metódy, napojenia na ERP, moduly pre vyhľadávanie a marketing. Každé prináša kód, ktorý sa musí pri aktualizáciách PHP skontrolovať. Pravidelne používajte composer audit a vypnuté moduly odstráňte úplne.

Myslite aj na procesy na pozadí. Magento pracuje s cron úlohami a často s consumermi front, ktoré bežia ako samostatné procesy PHP cez príkazový riadok. Po aktualizácii PHP sa musia reštartovať rovnako ako PHP-FPM. Po zmene hlavnej verzie PHP by ste navyše mali nechať znovu zostaviť vygenerovaný kód v generated/ a statické súbory a obchod prejsť v testovacom prostredí, skôr než sa obnoví ostrá prevádzka. Ako sa reštart podarí čisto, popisuje stránka Reštartovať PHP-FPM a všetkých workerov.

Čo aktualizácia Magento dokáže a čo nie

Vydanie Magento alebo bezpečnostná záplata od Adobe uzatvára chyby v kóde obchodu. PHP nezáplatuje, nereštartuje procesy FPM, neodstráni skripty z databázy a nezmaže cudzie účty administrátorov. Ak sa kód už vykonal, je potrebné vyšetrenie. Ako rozpoznať zadné vrátka, vysvetľuje stránka Rozpoznať a odstrániť webshelly.

Pre obchodníkov s platbou kartou platí navyše: skontrolujte pravidlá svojho poskytovateľa platieb pre bezpečnostné incidenty a pred obnovením kľúčov sa s ním dohodnite. Či je potrebné oznámenie dozornému orgánu na ochranu údajov, vyjasnite so svojou zodpovednou osobou za ochranu údajov alebo s právnikom.

Ako konkrétne pomáha PHP SOS?

  • Objasníme webové a CLI PHP vášho servera Magento a necháme si potvrdiť záplatu a reštart.
  • Logy, súbory a databázu zálohujeme preukázateľne, v prípade potreby cez našu IT forenznú analýzu.
  • Kontrolujeme env.php, pub/, moduly, konfiguračné tabuľky, bloky CMS a účty administrátorov.
  • Vyčistíme, obnovíme kľúče a prístupy a zdokumentujeme obdobie možného zasiahnutia pre ochranu údajov a poskytovateľa platieb.

Časté otázky

Uzatvára bezpečnostná záplata Magento aj PHP2Shell?

Nie. Záplaty Magento odstraňujú chyby v kóde obchodu. PHP2Shell je v interpreteri PHP na serveri a uzatvára sa len aktualizáciou PHP alebo potvrdeným backportom s reštartom všetkých procesov.

Kde útočníci v Magento ukrývajú skimmery kreditných kariet?

Často nie v súboroch, ale v databáze, napríklad v nastaveniach pre dodatočné skripty v hlavičke stránky alebo v blokoch CMS. Preto po podozrení vždy patrí k veci aj kontrola databázy.

Kto záplatuje PHP pri Adobe Commerce v cloude?

Závisí to od vašej zmluvy a vášho prostredia. Spýtajte sa Adobe alebo svojho prevádzkovateľa písomne na stav PHP a reštart. Vlastné rozšírenia a obsah databázy zostávajú vo vašej zodpovednosti.

Prečo je app/etc/env.php taký dôležitý?

Súbor obsahuje prístup k databáze, šifrovací kľúč a cestu do administračnej oblasti. Kto ho mohol čítať, môže dešifrovať zašifrované hodnoty a nájsť admin. Pri podozrení by sa tieto hodnoty mali obnoviť.

Zdroje

Okamžitý kontakt

Každá hodina sa počíta. Napíšte nám hneď.

Stručne opíšte systém, verziu PHP a svoje pozorovanie. Ozveme sa, vyjasníme situáciu a budeme pracovať na diaľku, kým nebude incident uzavretý a zdokumentovaný.

Okamžitá pomoc