Ukratko: Craft CMS sigurnost nakon PHP2Shella ovisi o PHP-u poslužitelja, a ne o Craftu. Osobito bi agencije s mnogo Craft web-stranica sada trebale provjeriti svaki poslužitelj zasebno. Nakon zakrpe i ponovnog pokretanja provjere zaslužuju .env, Security Key, devMode, korijen dokumenata i usklađenost Project Configa.
Što PHP2Shell znači za Craft web-stranice
Craft CMS omiljen je kod agencija jer nudi fleksibilne modele sadržaja i čiste predloške. Sukladno tome mnoge agencije održavaju desetke Craft web-stranica na različitim poslužiteljima i hosting paketima. PHP ranjivosti CVE-2026-109618 i CVE-2026-109619 prema PHP timu omogućuju zlonamjerni kôd na daljinu bez prijave, neovisno o verziji Crafta.
Za agencije je najvažnije pitanje stoga organizacijsko: koja web-stranica radi gdje, s kojim PHP-om i tko je odgovoran za ažuriranje? Popis svih instalacija s pružateljem hostinga, stanjem PHP-a i kontakt osobom prvi je korak. Kako agencijama u tome pomažemo, opisuje stranica Sigurnosni partner za agencije.
Craft CMS sigurnost: provjera verzije PHP-a
U Control Panelu Alati > Izvješće sustava prikazuje verziju PHP-a, bazu podataka i instalirane dodatke. To je verzija s kojom web-stranica radi na webu. Craft konzola php craft, obrada reda i cron zadaci pak koriste PHP naredbenog retka. Oba moraju biti zakrpana.
Ispravljene upstream verzije su 8.5.12, 8.4.27, 8.3.36 i 8.2.35. Mnogi pružatelji hostinga ispravke ugrađuju kao backport; broj tada ostaje isti. Koje su verzije pogođene, prikazuje stranica Koje su verzije PHP-a pogođene?. Koje PHP verzije podržava Vaša verzija Crafta, provjerite prema sistemskim zahtjevima u dokumentaciji na craftcms.com.
Craft pozadinske zadatke obrađuje u redu čekanja. Ako radi kao trajni proces pod upraviteljem procesa, i taj se nakon PHP ažuriranja mora ponovno pokrenuti.
Direktoriji i konfiguracija u Craftu
| Mjesto | Sadržaj | Točka provjere |
|---|---|---|
.env |
Pristup bazi podataka, CRAFT_SECURITY_KEY, ostali ključevi |
Nakon sumnje obnoviti vrijednosti |
config/general.php |
devMode, allowAdminChanges, put do Control Panela |
Umetnuti PHP kôd |
config/project/ |
Project Config kao YAML | Usporedba s Gitom |
web/ |
Korijen dokumenata s index.php, cpresources/, često uploadi |
Dodatne PHP datoteke |
storage/ |
Logovi, datoteke izvođenja, često sigurnosne kopije baze podataka | Nije dostupno putem weba |
templates/ |
Twig predlošci | Strani JavaScript |
modules/, vendor/ |
Vlastiti moduli i dodaci | Izmijenjene datoteke, composer audit |
Točka koja se često previdi je storage/backups/. Craft tamo odlaže sigurnosne kopije baze podataka koje mogu sadržavati potpune podatke kupaca i obrazaca. Ta mapa nikada ne smije ležati ispod korijena dokumenata.
Neopasne provjere u naredbenom retku:
# Prikaz razlika između Project Configa i baze podataka
php craft project-config/diff
# PHP datoteke u korijenu dokumenata osim index.php
find web -type f -name "*.php" ! -name "index.php"
composer audit
U produkciji devMode mora biti false. S uključenim devMode Craft prikazuje opširne poruke o pogreškama s putovima i isječcima kôda koji napadačima olakšavaju posao.
Control Panel, korisnici i dodaci
Control Panel se prema zadanim postavkama nalazi na /admin. Provjerite koji korisnici imaju administratorska prava i uklonite pristupe bivših zaposlenika i freelancera. Craft podržava dvofaktorsku prijavu; koristite je za sve račune s povišenim pravima.
U produkciji postavite allowAdminChanges na false. Tada se polja, odjeljci i postavke dodataka mogu mijenjati samo putem verzionirane Project Config, a svako odstupanje primjećuje se pri usporedbi s Gitom. Dodaci iz Plugin Storea donose vlastiti PHP kôd; provjerite održavaju li se još svi i odgovaraju li ciljanoj verziji PHP-a.
// config/general.php, isječak za produkcijsko okruženje
'devMode' => false,
'allowAdminChanges' => false,
Što Craft ažuriranje može, a što ne
Ažuriranje Crafta ili dodatka zatvara pogreške u tom kôdu i može omogućiti novije verzije PHP-a. Ne zakrpava PHP, ne pokreće ponovno ni PHP-FPM ni red čekanja, ne obnavlja iscurjeli Security Key i ne uklanja strane datoteke iz web/ ili storage/.
Za agencije s mnogo Craft instalacija nakon zakrpe ponajprije vrijedi ponovljivost. Za svaku web-stranicu zabilježite koja verzija PHP-a radi na webu i u naredbenom retku, kada je potvrđeno ponovno pokretanje i jesu li provjere bile upadljive. Taj pregled pomaže pri upitima klijenata i kod budućih objava. Mislite i na javno dostupna staging i razvojna okruženja. Često rade s devMode, starijim stanjima i stvarnim podacima klijenata te se pri ažuriranjima rado zaborave. Ako postoji sumnja je li klijentska stranica pogođena, klijenta obavijestite stvarno umjesto da čekate.
Kako PHP SOS konkretno pomaže?
- S Vama bilježimo sve Craft instalacije s pružateljem hostinga, stanjem PHP-a i odgovornošću.
- Dajemo potvrditi zakrpu i ponovno pokretanje po poslužitelju te osiguravamo logove od 20.10.2026.
- Provjeravamo korijen dokumenata,
storage, konfiguraciju, korisnike i usklađenost Project Configa. - Na zahtjev preuzimamo trajnu sigurnosnu skrb za Vaše klijentske stranice u sigurnosnom ugovoru o održavanju, i pod Vašim imenom.
Česta pitanja
Pogađa li PHP2Shell Craft CMS?
Sam Craft CMS nema novu ranjivost. No radi na PHP-u, a PHP2Shell je u PHP-u. Svaka Craft instalacija na nezakrpanom poslužitelju stoga je potencijalno ranjiva, neovisno o verziji Crafta.
Gdje Craft prikazuje verziju PHP-a?
U Control Panelu pod Alati > Izvješće sustava. Tamo su verzija PHP-a, baza podataka i instalirani dodaci. Ugrađen backport po broju se ne prepoznaje; to potvrđuje Vaš pružatelj hostinga.
Što je Security Key u Craftu i zašto ga obnoviti?
Security Key iz datoteke .env služi za potpisivanje i šifriranje podataka. Tko ga poznaje, pod određenim uvjetima može krivotvoriti sesije ili podatke obrazaca. Nakon sumnje obnovite ga u dogovoru sa svojom agencijom.
Što donosi allowAdminChanges postavljen na false?
Time se polja, odjeljci i postavke dodataka u produkciji više ne mogu mijenjati putem Control Panela. Izmjene dolaze samo putem verzionirane Project Config, što manipulacije čini težima i vidljivijima.