Dabartinė padėtis: PHP2Shell. Du kritiniai PHP pažeidžiamumai (CVSS 9,2) leidžia vykdyti kenkėjišką kodą be prisijungimo. Pataisos nuo 2026-10-21.Ką dabar daryti →

Craft CMS saugumas po PHP2Shell: kaip apsaugoti agentūrų svetaines

Craft CMS veikia su PHP ir dažnai naudojamas agentūrų su daugybe klientų svetainių. Po PHP2Shell svarbu pataisa, paleidimas iš naujo, apsaugotas Security Key ir Project Config palyginimas.

Būsena 4 min. skaitymoPlatformos

Trumpai: Po PHP2Shell Craft CMS saugumas priklauso nuo serverio PHP, o ne nuo Craft. Ypač agentūros su daugybe Craft svetainių dabar turėtų patikrinti kiekvieną serverį atskirai. Po pataisos ir paleidimo iš naujo reikia patikrinti .env, Security Key, devMode, dokumentų šaknį ir palyginti Project Config.

Ką PHP2Shell reiškia Craft svetainėms

Craft CMS agentūros mėgsta dėl lanksčių turinio modelių ir švarių šablonų. Atitinkamai daug agentūrų prižiūri dešimtis Craft svetainių skirtinguose serveriuose ir talpinimo paketuose. PHP komandos teigimu, PHP spragos CVE-2026-109618 ir CVE-2026-109619 leidžia vykdyti kenkėjišką kodą nuotoliniu būdu be prisijungimo, nepriklausomai nuo Craft versijos.

Agentūroms svarbiausias klausimas todėl organizacinis: kuri svetainė kur veikia, su kokiu PHP ir kas atsakingas už atnaujinimą? Pirmas žingsnis yra visų diegimų sąrašas su talpintoju, PHP būsena ir kontaktiniu asmeniu. Kaip padedame agentūroms, aprašo Saugumo partneris agentūroms.

Craft CMS saugumas: PHP versijos patikra

Valdymo skydelyje (Control Panel) Įrankiai > Sistemos ataskaita rodo PHP versiją, duomenų bazę ir įdiegtus įskiepius. Tai versija, su kuria svetainė veikia žiniatinklyje. Craft konsolė php craft, eilės apdorojimas ir cron užduotys, priešingai, naudoja komandinės eilutės PHP. Abu turi būti pataisyti.

Ištaisytos oficialios (upstream) versijos yra 8.5.12, 8.4.27, 8.3.36 ir 8.2.35. Daug talpintojų taisymus įdiegia kaip atgalinį perkėlimą (backport); numeris tada lieka toks pats. Kurios versijos paveiktos, rodo Kurios PHP versijos paveiktos?. Kurias PHP versijas palaiko jūsų Craft versija, pagal sistemos reikalavimus dokumentacijoje patikrinkite craftcms.com.

Craft foninius darbus apdoroja eilėje. Jei ji veikia kaip nuolatinis procesas po procesų tvarkykle, po PHP atnaujinimo ir ją reikia paleisti iš naujo.

Katalogai ir konfigūracija Craft

Vieta Turinys Patikros punktas
.env Duomenų bazės prieiga, CRAFT_SECURITY_KEY, kiti raktai reikšmes atnaujinti kilus įtarimui
config/general.php devMode, allowAdminChanges, kelias į valdymo skydelį įterptas PHP kodas
config/project/ Project Config kaip YAML palyginimas su Git
web/ Dokumentų šaknis su index.php, cpresources/, dažnai įkėlimai papildomi PHP failai
storage/ Žurnalai, vykdymo failai, dažnai duomenų bazės atsarginės kopijos nepasiekiama per žiniatinklį
templates/ Twig šablonai svetimas JavaScript
modules/, vendor/ savi moduliai ir įskiepiai pakeisti failai, composer audit

Dažnai praleidžiamas punktas yra storage/backups/. Craft ten saugo duomenų bazės atsargines kopijas, kuriose gali būti visi klientų ir formų duomenys. Šis aplankas niekada neturi būti žemiau dokumentų šaknies.

Nepavojingos patikros komandinėje eilutėje:

# Rodyti skirtumus tarp Project Config ir duomenų bazės
php craft project-config/diff
# PHP failai dokumentų šaknyje, išskyrus index.php
find web -type f -name "*.php" ! -name "index.php"
composer audit
Svarbu

Gamyboje devMode turi būti false. Įjungus devMode, Craft rodo išsamius klaidų pranešimus su keliais ir kodo ištraukomis, kurie palengvina užpuolikų darbą.

Valdymo skydelis, naudotojai ir įskiepiai

Valdymo skydelis pagal numatytuosius nustatymus yra adresu /admin. Patikrinkite, kurie naudotojai turi administratoriaus teises, ir pašalinkite buvusių darbuotojų bei laisvai samdomų specialistų prieigas. Craft palaiko dviejų veiksnių prisijungimą; naudokite jį visoms paskyroms su išplėstinėmis teisėmis.

Gamyboje nustatykite allowAdminChanges į false. Tada laukus, sekcijas ir įskiepių nustatymus galima keisti tik per versijuojamą Project Config, o kiekvienas nukrypimas pastebimas lyginant su Git. Įskiepiai iš Plugin Store atneša savo PHP kodą; patikrinkite, ar jie visi dar prižiūrimi ir ar tinka siekiamai PHP versijai.

// config/general.php, ištrauka gamybos aplinkai
'devMode' => false,
'allowAdminChanges' => false,

Ką gali Craft atnaujinimas ir ko ne

Craft ar įskiepio atnaujinimas uždaro šio kodo klaidas ir gali leisti naudoti naujesnes PHP versijas. Jis netaiso PHP, nepaleidžia iš naujo nei PHP-FPM, nei eilės, neatnaujina nutekėjusio Security Key ir nepašalina svetimų failų iš web/ ar storage/.

Agentūroms su daugybe Craft diegimų po pataisos svarbiausia pakartojamumas. Kiekvienai svetainei užfiksuokite, kokia PHP versija veikia žiniatinklyje ir komandinėje eilutėje, kada patvirtintas paleidimas iš naujo ir ar patikros buvo įtartinos. Ši apžvalga padeda atsakant į klientų klausimus ir būsimiems pranešimams. Pagalvokite ir apie viešai pasiekiamas bandomąsias (staging) ir kūrimo aplinkas. Jos dažnai veikia su devMode, senesnėmis būsenomis ir tikrais klientų duomenimis ir atnaujinant lengvai pamirštamos. Jei abejojate, ar kliento svetainė paveikta, informuokite klientą dalykiškai, o ne laukite.

Kaip PHP SOS padeda konkrečiai?

  • Kartu su jumis užfiksuojame visus Craft diegimus su talpintoju, PHP būsena ir atsakomybe.
  • Leidžiame patvirtinti pataisą ir paleidimą iš naujo kiekvienam serveriui ir išsaugome žurnalus nuo 2026 m. spalio 20 d.
  • Tikriname dokumentų šaknį, storage, konfigūraciją, naudotojus ir Project Config palyginimą.
  • Pageidaujant perimame nuolatinę jūsų klientų svetainių saugumo priežiūrą pagal saugumo priežiūros sutartį, taip pat jūsų vardu.

Dažni klausimai

Ar Craft CMS paveiktas PHP2Shell?

Pats Craft CMS naujos spragos neturi. Tačiau jis veikia su PHP, o PHP2Shell slypi PHP. Todėl kiekvienas Craft diegimas nepataisytame serveryje potencialiai pažeidžiamas, nepriklausomai nuo Craft versijos.

Kur Craft rodo PHP versiją?

Valdymo skydelyje (Control Panel) skiltyje Įrankiai > Sistemos ataskaita. Ten nurodyta PHP versija, duomenų bazė ir įdiegti įskiepiai. Įdiegto atgalinio perkėlimo (backport) iš numerio neatpažinsite; tai patvirtina jūsų talpintojas.

Kas yra Security Key Craft ir kodėl jį atnaujinti?

Security Key iš failo .env naudojamas duomenims pasirašyti ir šifruoti. Kas jį žino, tam tikromis aplinkybėmis gali klastoti sesijas ar formų duomenis. Kilus įtarimui jį reikėtų atnaujinti suderinus su jūsų agentūra.

Ką duoda allowAdminChanges su reikšme false?

Tada gamyboje laukų, sekcijų ir įskiepių nustatymų nebegalima keisti per valdymo skydelį. Pakeitimai atliekami tik per versijuojamą Project Config, todėl manipuliacijos tampa sunkesnės ir pastebimesnės.

Šaltiniai

Skubus kontaktas

Kiekviena valanda svarbi. Parašykite mums dabar.

Trumpai aprašykite sistemą, PHP versiją ir pastebėjimus. Mes atsakysime, išsiaiškinsime padėtį ir dirbsime nuotoliu, kol incidentas bus užbaigtas ir dokumentuotas.

Skubi pagalba