Pe scurt: Securitatea Craft CMS depinde, după PHP2Shell, de PHP-ul serverului, nu de Craft. Mai ales agențiile cu multe site-uri Craft ar trebui să verifice acum fiecare server în parte. După patch și repornire, .env, Security Key, devMode, rădăcina documentelor și compararea Project Config trebuie verificate.
Ce înseamnă PHP2Shell pentru site-urile Craft
Craft CMS este apreciat de agenții, deoarece oferă modele de conținut flexibile și șabloane curate. În consecință, multe agenții întrețin zeci de site-uri Craft pe servere și pachete de hosting diferite. Potrivit echipei PHP, vulnerabilitățile PHP CVE-2026-109618 și CVE-2026-109619 permit execuția de cod malițios la distanță, fără autentificare, indiferent de versiunea Craft.
Pentru agenții, cea mai importantă întrebare este, de aceea, de natură organizatorică: ce site rulează unde, cu ce PHP și cine răspunde de actualizare? O listă a tuturor instalărilor, cu furnizor de hosting, starea PHP și persoană de contact, este primul pas. Cum sprijinim agențiile în acest sens descrie Partener de securitate pentru agenții.
Securitatea Craft CMS: verificarea versiunii PHP
În Control Panel, Instrumente > Raport de sistem arată versiunea PHP, baza de date și plugin-urile instalate. Aceasta este versiunea cu care site-ul rulează pe web. Consola Craft php craft, procesarea cozii și cronjob-urile folosesc în schimb PHP-ul din linia de comandă. Ambele trebuie să aibă patchul aplicat.
Versiunile upstream remediate sunt 8.5.12, 8.4.27, 8.3.36 și 8.2.35. Mulți furnizori de hosting aplică corecțiile ca backport; numărul rămâne atunci același. Ce versiuni sunt afectate arată Ce versiuni PHP sunt afectate?. Ce versiuni PHP sunt acceptate de versiunea dumneavoastră de Craft verificați conform cerințelor de sistem din documentația de pe craftcms.com.
Craft procesează sarcinile de fundal într-o coadă. Dacă aceasta rulează ca proces permanent sub un manager de procese, și acesta trebuie repornit după actualizarea PHP.
Directoare și configurație în Craft
| Loc | Conținut | Punct de verificare |
|---|---|---|
.env |
Accesul la baza de date, CRAFT_SECURITY_KEY, alte chei |
Reînnoiți valorile în caz de suspiciune |
config/general.php |
devMode, allowAdminChanges, calea către Control Panel |
Cod PHP strecurat |
config/project/ |
Project Config ca YAML | Comparație cu Git |
web/ |
Rădăcina documentelor cu index.php, cpresources/, adesea upload-uri |
Fișiere PHP suplimentare |
storage/ |
Jurnale, fișiere de execuție, adesea backup-uri ale bazei de date | Nu este accesibil prin web |
templates/ |
Șabloane Twig | JavaScript străin |
modules/, vendor/ |
Module și plugin-uri proprii | Fișiere modificate, composer audit |
Un punct adesea trecut cu vederea este storage/backups/. Craft depune acolo copii de siguranță ale bazei de date, care pot conține date complete ale clienților și ale formularelor. Acest director nu are voie să se afle niciodată sub rădăcina documentelor.
Verificări inofensive în linia de comandă:
# Afișarea diferențelor dintre Project Config și baza de date
php craft project-config/diff
# Fișiere PHP în rădăcina documentelor, în afară de index.php
find web -type f -name "*.php" ! -name "index.php"
composer audit
În producție, devMode aparține pe false. Cu devMode activat, Craft afișează mesaje de eroare detaliate, cu căi și fragmente de cod, care ușurează munca atacatorilor.
Control Panel, utilizatori și plugin-uri
Control Panel se află implicit la /admin. Verificați ce utilizatori au drepturi de administrator și eliminați accesurile foștilor angajați și freelanceri. Craft acceptă autentificarea în doi pași; folosiți-o pentru toate conturile cu drepturi ridicate.
Setați în producție allowAdminChanges pe false. Atunci câmpurile, secțiunile și setările plugin-urilor pot fi modificate doar prin Project Config versionat, iar orice abatere se observă la compararea cu Git. Plugin-urile din Plugin Store aduc cod PHP propriu; verificați dacă toate mai sunt întreținute și se potrivesc cu versiunea PHP vizată.
// config/general.php, fragment pentru mediul de producție
'devMode' => false,
'allowAdminChanges' => false,
Ce poate și ce nu poate o actualizare Craft
O actualizare Craft sau a unui plugin închide erori din acel cod și poate permite versiuni PHP mai noi. Ea nu aplică patchul PHP, nu repornește nici PHP-FPM, nici coada, nu reînnoiește un Security Key scurs și nu elimină fișiere străine din web/ sau storage/.
Pentru agențiile cu multe instalări Craft, după patch contează mai ales repetabilitatea. Consemnați pentru fiecare site ce versiune PHP rulează pe web și în linia de comandă, când a fost confirmată repornirea și dacă verificările au dat rezultate neobișnuite. Această prezentare ajută la întrebările clienților și la viitoare avertizări. Gândiți-vă și la mediile de staging și de dezvoltare accesibile public. Ele rulează adesea cu devMode, cu versiuni mai vechi și cu date reale ale clienților și sunt ușor uitate la actualizări. Dacă există îndoieli că un site de client este afectat, informați clientul în mod obiectiv, în loc să așteptați.
Cum ajută PHP SOS concret?
- Inventariem împreună cu dumneavoastră toate instalările Craft, cu furnizor de hosting, starea PHP și responsabilitate.
- Punem să fie confirmate patchul și repornirea pentru fiecare server și salvăm jurnalele începând cu 20.10.2026.
- Verificăm rădăcina documentelor,
storage, configurația, utilizatorii și compararea Project Config. - La cerere, preluăm îngrijirea continuă a securității site-urilor clienților dumneavoastră în contractul de mentenanță de securitate, inclusiv sub numele dumneavoastră.
Întrebări frecvente
Este Craft CMS afectat de PHP2Shell?
Craft CMS însuși nu are o vulnerabilitate nouă. Rulează însă pe PHP, iar PHP2Shell se află în PHP. Orice instalare Craft de pe un server fără patch este, de aceea, potențial vulnerabilă, indiferent de versiunea Craft.
Unde afișează Craft versiunea PHP?
În Control Panel, la Instrumente > Raport de sistem. Acolo se află versiunea PHP, baza de date și plugin-urile instalate. Un backport aplicat nu poate fi recunoscut după număr; acest lucru îl confirmă furnizorul dumneavoastră de hosting.
Ce este Security Key în Craft și de ce să îl reînnoiesc?
Security Key din fișierul .env servește la semnarea și criptarea datelor. Cine îl cunoaște poate, în anumite circumstanțe, să falsifice sesiuni sau date de formular. În caz de suspiciune, ar trebui să îl reînnoiți, în acord cu agenția dumneavoastră.
Ce aduce allowAdminChanges pe false?
Astfel, câmpurile, secțiunile și setările plugin-urilor nu mai pot fi modificate în producție prin Control Panel. Modificările vin doar prin Project Config versionat, ceea ce face manipulările mai dificile și mai vizibile.