Stručne: Bezpečnosť Craft CMS závisí po PHP2Shell od PHP servera, nie od Craft. Práve agentúry s mnohými webmi na Craft by mali teraz skontrolovať každý server zvlášť. Po záplate a reštarte patria na previerku .env, Security-Key, devMode, koreň dokumentov a porovnanie Project Config.
Čo PHP2Shell znamená pre weby na Craft
Craft CMS je u agentúr obľúbený, pretože ponúka flexibilné modely obsahu a čisté šablóny. Mnohé agentúry preto spravujú desiatky webov na Craft na rôznych serveroch a hostingových balíkoch. Zraniteľnosti PHP CVE-2026-109618 a CVE-2026-109619 podľa tímu PHP umožňujú spustenie škodlivého kódu na diaľku bez prihlásenia, nezávisle od verzie Craft.
Pre agentúry je preto najdôležitejšia otázka organizačná: Ktorý web beží kde, s akým PHP a kto je zodpovedný za aktualizáciu? Prvým krokom je zoznam všetkých inštalácií s poskytovateľom hostingu, stavom PHP a kontaktnou osobou. Ako agentúram pri tom pomáhame, popisuje stránka Bezpečnostný partner pre agentúry.
Bezpečnosť Craft CMS: skontrolovať verziu PHP
V Control Panel zobrazuje Nástroje > Systémová správa verziu PHP, databázu a nainštalované pluginy. Je to verzia, s ktorou web beží na internete. Konzola Craft php craft, spracovanie frontu a cron úlohy používajú naopak PHP z príkazového riadku. Obe musia byť záplatované.
Opravené upstream verzie sú 8.5.12, 8.4.27, 8.3.36 a 8.2.35. Mnohí poskytovatelia hostingu nasadzujú opravy ako backport; číslo potom zostane rovnaké. Ktoré verzie sú dotknuté, ukazuje stránka Ktoré verzie PHP sú dotknuté?. Ktoré verzie PHP vaša verzia Craft podporuje, skontrolujte podľa systémových požiadaviek v dokumentácii na craftcms.com.
Craft spracúva úlohy na pozadí vo fronte. Ak beží ako trvalý proces pod správcom procesov, musí sa po aktualizácii PHP reštartovať aj tento.
Adresáre a konfigurácia v Craft
| Miesto | Obsah | Bod kontroly |
|---|---|---|
.env |
Prístup k databáze, CRAFT_SECURITY_KEY, ďalšie kľúče |
Hodnoty pri podozrení obnoviť |
config/general.php |
devMode, allowAdminChanges, cesta ku Control Panel |
Vložený kód PHP |
config/project/ |
Project Config ako YAML | Porovnanie s Git |
web/ |
Koreň dokumentov s index.php, cpresources/, často nahrávky |
Ďalšie súbory PHP |
storage/ |
Logy, súbory behu, často zálohy databázy | Nesmie byť dostupné cez web |
templates/ |
Šablóny Twig | Cudzí JavaScript |
modules/, vendor/ |
Vlastné moduly a pluginy | Zmenené súbory, composer audit |
Často prehliadaným bodom je storage/backups/. Craft tam ukladá zálohy databázy, ktoré môžu obsahovať úplné údaje zákazníkov a formulárov. Tento priečinok nikdy nesmie byť pod koreňom dokumentov.
Neškodné kontroly v príkazovom riadku:
# Zobraziť rozdiely medzi Project Config a databázou
php craft project-config/diff
# Súbory PHP v koreni dokumentov okrem index.php
find web -type f -name "*.php" ! -name "index.php"
composer audit
V produkcii patrí devMode na false. So zapnutým devMode zobrazuje Craft podrobné chybové hlásenia s cestami a úryvkami kódu, ktoré útočníkom uľahčujú prácu.
Control Panel, používatelia a pluginy
Control Panel je štandardne pod /admin. Skontrolujte, ktorí používatelia majú práva administrátora, a odstráňte prístupy bývalých zamestnancov a freelancerov. Craft podporuje dvojfaktorové prihlásenie; používajte ho pre všetky účty so zvýšenými právami.
V produkcii nastavte allowAdminChanges na false. Polia, sekcie a nastavenia pluginov sa potom dajú meniť iba cez verziovanú Project Config a každá odchýlka vyjde najavo pri porovnaní s Git. Pluginy z Plugin Store prinášajú vlastný kód PHP; skontrolujte, či sa všetky ešte udržiavajú a zodpovedajú cieľovej verzii PHP.
// config/general.php, výrez pre produkčné prostredie
'devMode' => false,
'allowAdminChanges' => false,
Čo aktualizácia Craft dokáže a čo nie
Aktualizácia Craft alebo pluginu uzatvára chyby v tomto kóde a môže umožniť novšie verzie PHP. PHP nezáplatuje, nereštartuje ani PHP-FPM, ani front úloh, neobnoví uniknutý Security-Key a neodstráni cudzie súbory z web/ ani storage/.
Pre agentúry s mnohými inštaláciami Craft sa po záplate počíta najmä opakovateľnosť. Pre každý web zaznamenajte, aká verzia PHP beží na webe a v príkazovom riadku, kedy sa potvrdil reštart a či boli kontroly nápadné. Tento prehľad pomáha pri otázkach zákazníkov a pri budúcich hláseniach. Myslite aj na verejne dostupné staging a vývojové prostredia. Často bežia s devMode, staršími stavmi a skutočnými údajmi zákazníkov a pri aktualizáciách sa radi zabúdajú. Ak existujú pochybnosti, či sa zákaznícky web týka, informujte zákazníka vecne, namiesto aby ste čakali.
Ako konkrétne pomáha PHP SOS?
- S vami zaznamenáme všetky inštalácie Craft s poskytovateľom hostingu, stavom PHP a zodpovednosťou.
- Necháme si potvrdiť záplatu a reštart pre každý server a zálohujeme logy od 20. 10. 2026.
- Kontrolujeme koreň dokumentov,
storage, konfiguráciu, používateľov a porovnanie Project Config. - Na požiadanie prevezmeme priebežnú bezpečnostnú starostlivosť o vaše zákaznícke weby v bezpečnostnej zmluve o údržbe, aj pod vaším menom.
Časté otázky
Týka sa PHP2Shell Craft CMS?
Samotné Craft CMS nemá novú zraniteľnosť. Beží však na PHP a PHP2Shell je v PHP. Každá inštalácia Craft na nezáplatovanom serveri je preto potenciálne napadnuteľná, bez ohľadu na verziu Craft.
Kde Craft zobrazuje verziu PHP?
V Control Panel pod Nástroje > Systémová správa. Nachádza sa tam verzia PHP, databáza a nainštalované pluginy. Nasadený backport sa z čísla nedá rozpoznať; potvrdí ho váš poskytovateľ hostingu.
Čo je Security-Key v Craft a prečo ho obnoviť?
Security-Key zo súboru .env slúži na podpisovanie a šifrovanie údajov. Kto ho pozná, môže za určitých okolností falšovať relácie alebo údaje formulárov. Pri podozrení by ste ho mali obnoviť v dohode so svojou agentúrou.
Čo prináša allowAdminChanges nastavené na false?
Polia, sekcie a nastavenia pluginov sa potom v produkcii už nedajú meniť cez Control Panel. Zmeny prichádzajú len cez verziovanú Project Config, čo manipulácie sťažuje a robí viditeľnejšími.