Ukratko: Aktualna Magento sigurnosna ranjivost zove se PHP2Shell i nije u Magentu, nego u PHP-u. Magento zakrpa je ne zatvara. Nakon PHP ažuriranja s ponovnim pokretanjem trebali biste provjeriti app/etc/env.php, bazu podataka na skimmere i popis admin računa.
Što PHP2Shell znači za Magento shopove
Magento Open Source i Adobe Commerce velike su PHP aplikacije koje uglavnom rade s PHP-FPM-om. Ranjivosti CVE-2026-109618 i CVE-2026-109619 prema PHP timu omogućuju izvršavanje zlonamjernog koda bez prijave. Je li sam shop ažuran, pritom nije važno.
Magento shopovi već su godinama omiljena meta za skimming kreditnih kartica, pri čemu se unosi u checkoutu čitaju. PHP2Shell za to otvara dodatni put. Palo Alto Networks izbrojio je više od 22,6 milijuna izloženih, potencijalno ranjivih PHP instanci; koji su shopovi među njima, nije poznato.
Magento sigurnosna ranjivost: ispravno utvrđivanje stanja PHP-a
Magento verziju PHP-a ne prikazuje istaknuto u adminu. Stanje stoga provjerite u hosting panelu za domenu ili ga dajte potvrditi svom pružatelju hostinga. php -v u naredbenom retku prikazuje samo CLI PHP s kojim rade bin/magento i cron zadaci. Web PHP putem FPM-a može biti druga verzija, a oba moraju biti zakrpana.
Ispravljene upstream verzije su 8.5.12, 8.4.27, 8.3.36 i 8.2.35, a backportovi distribucija mogu nositi starije brojeve. Koje PHP verzije podržava Vaša verzija Magenta, provjerite prema sistemskim zahtjevima u Adobeovoj dokumentaciji (experienceleague.adobe.com). Kod Adobe Commercea na Adobeovoj infrastrukturi pitajte Adobe ili svog operatera o stanju. Upute korak po korak nudi članak Ispravna provjera verzije i stanja zakrpe PHP-a.
Gdje se zlonamjerni kôd nalazi u Magentu
| Mjesto | Sadržaj | Točka provjere |
|---|---|---|
app/etc/env.php |
Baza podataka, ključ za šifriranje, admin put | Datum izmjene, nakon sumnje obnoviti vrijednosti |
pub/ |
Korijen dokumenata, pub/media, pub/static |
PHP datoteke u mapama media i static |
app/code/ |
Vlastiti moduli | Nepoznati moduli, izmijenjene datoteke |
vendor/ |
Composer paketi, i proširenja | Odstupanja od lockfilea |
generated/, var/ |
Generirani kôd, predmemorija, logovi | Osigurati logove, ponovno generirati kôd |
| Baza podataka | Konfiguracija, CMS blokovi, admin korisnici | Strane skripte, novi admini |
Skimmeri se u Magentu često nalaze u bazi podataka, primjerice u postavkama za dodatne skripte u zaglavlju ili podnožju stranice te u CMS blokovima. Skeniranje samih datoteka previdi ih. Neopasni pristupi samo za čitanje pomažu pri prvom pogledu (prefiks tablica ovisi o instalaciji):
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%';
Očišćen checkout ne znači da podaci nisu iscurjeli. Osigurajte logove od 20.10.2026. i izvatke baze podataka prije nego što uklonite skripte. Samo se tako kasnije može utvrditi od kada su i koje narudžbe bile pogođene.
Administracijsko područje i proširenja
Admin put u Magentu može se slobodno odabrati i nalazi se u env.php. Put koji je teško pogoditi smislen je, ali ne zamjenjuje dvofaktorsku prijavu niti ograničenje na poznate mreže. Redovito provjeravajte admin korisnike i njihove uloge, kao i integracije i API tokene.
Proširenja trećih strana u Magentu su brojna: načini plaćanja, ERP integracije, moduli za pretraživanje i marketing. Svako donosi kôd koji se pri PHP nadogradnjama mora provjeriti. Redovito koristite composer audit i potpuno uklonite isključene module.
Mislite i na pozadinske procese. Magento radi s cron zadacima i često s consumerima redova poruka koji kao zasebni PHP procesi rade putem naredbenog retka. Nakon PHP ažuriranja i oni se moraju ponovno pokrenuti, jednako kao PHP-FPM. Nakon promjene glavne verzije PHP-a trebali biste dodatno dati ponovno izgraditi generirani kôd u generated/ i statičke datoteke te shop proći u testnom okruženju prije nastavka rada uživo. Kako se ponovno pokretanje uredno provodi, opisuje Ponovno pokretanje PHP-FPM-a i svih workera.
Što Magento ažuriranje može, a što ne
Magento izdanje ili Adobeova sigurnosna zakrpa zatvara pogreške u kôdu shopa. Ne zakrpava PHP, ne pokreće ponovno FPM procese, ne uklanja skripte iz baze podataka i ne briše strane admin račune. Ako je kôd već izvršen, potrebna je istraga. Kako prepoznati stražnja vrata, objašnjava Prepoznavanje i uklanjanje webshellova.
Za trgovce s plaćanjem karticama vrijedi i ovo: provjerite upute svog pružatelja plaćanja za sigurnosne incidente i prije obnove ključeva s njim se uskladite. Je li potrebna prijava nadzornom tijelu za zaštitu podataka, razjasnite sa svojim službenikom za zaštitu podataka ili odvjetnikom.
Kako PHP SOS konkretno pomaže?
- Razjašnjavamo web i CLI PHP Vašeg Magento poslužitelja te dajemo potvrditi zakrpu i ponovno pokretanje.
- Logove, datoteke i bazu podataka osiguravamo na provjerljiv način, po potrebi putem naše IT forenzike.
- Provjeravamo
env.php,pub/, module, konfiguracijske tablice, CMS blokove i admin račune. - Čistimo, obnavljamo ključeve i pristupe te dokumentiramo razdoblje moguće pogođenosti za zaštitu podataka i pružatelje plaćanja.
Česta pitanja
Zatvara li Magento sigurnosna zakrpa i PHP2Shell?
Ne. Magento zakrpe otklanjaju pogreške u kôdu shopa. PHP2Shell je u PHP interpreteru poslužitelja i zatvara se samo PHP ažuriranjem ili potvrđenim backportom uz ponovno pokretanje svih procesa.
Gdje napadači skrivaju skimmere kreditnih kartica u Magentu?
Često ne u datotekama, nego u bazi podataka, primjerice u postavkama za dodatne skripte u zaglavlju stranice ili u CMS blokovima. Zato nakon sumnje uvijek treba provjeriti i bazu podataka.
Tko zakrpava PHP kod Adobe Commercea u oblaku?
To ovisi o Vašem ugovoru i okruženju. Pisano pitajte Adobe ili svog operatera o stanju PHP-a i ponovnom pokretanju. Vlastita proširenja i sadržaj baze podataka ostaju u Vašoj odgovornosti.
Zašto je app/etc/env.php toliko važan?
Datoteka sadrži pristup bazi podataka, ključ za šifriranje i put do administracijskog područja. Tko ju je mogao pročitati, može dešifrirati šifrirane vrijednosti i pronaći admin. Nakon sumnje te bi vrijednosti trebalo obnoviti.