Na kratko: Varnost Contao je pri PHP2Shell odvisna od PHP na strežniku, ne od Contao. Poskrbite, da sta popravljena tako PHP za splet kot PHP v ukazni vrstici za Contao Manager. Nato preglejte .env, lastne predloge, mapo files ter dostope do skrbniškega dela in Managerja.
Contao in PHP2Shell: za kaj gre
Contao je CMS, razširjen v nemško govorečem prostoru, ki od različice 4 temelji na ogrodju Symfony. Ranljivosti PHP CVE-2026-109618 in CVE-2026-109619 po navedbah ekipe PHP omogočata izvajanje škodljive kode na daljavo brez prijave. Zadevata sam PHP, torej tudi vsako namestitev Contao na nepopravljenem strežniku.
Številne spletne strani Contao so last srednje velikih podjetij, zvez in občin, vzdržujejo pa jih agencije. Zato najprej razjasnite, kdo je pristojen za PHP: ponudnik gostovanja, agencija ali vaša lastna IT.
Pogosta zmota zadeva način vzdrževanja. Contao lahko spletno stran za obiskovalce zaklene, vendar to zaklepanje samo dostavlja PHP. Vsaka zahteva torej še vedno doseže interpreter PHP. Proti PHP2Shell način vzdrževanja zato ne ščiti. Ko BSI (nemški zvezni urad za informacijsko varnost) priporoča, da se spletne strežnike do posodobitve odklopi z omrežja, je mišljena blokada na ravni strežnika ali gostovanja, ne nastavitev v CMS.
Varnost Contao se začne z dvema različicama PHP
Contao uporablja PHP po dveh poteh. Spletni strežnik klice strani večinoma obdeluje prek PHP-FPM. Contao Manager in konzola Contao dodatno delata s PHP v ukazni vrstici, na primer za namestitve, posodobitve in cron opravila. Na paketih gostovanja z več različicami PHP sta to lahko dva različna programa.
Contao Manager v konfiguraciji strežnika prikaže, katero programsko datoteko PHP uporablja. Različico za splet vidite v upravljalnem panelu gostovanja. Odpravljene različice izvorne kode so 8.5.12, 8.4.27, 8.3.36 in 8.2.35; backporti lahko nosijo starejše številke. Obe poti morata biti popravljeni in vsi procesi znova zagnani. Katere različice PHP podpira vaša različica Contao, preverite v sistemskih zahtevah na contao.org. Več o preverjanju v prispevku Pravilno preverjanje različice PHP in stanja popravkov.
Mape in datoteke v Contao
| Mesto | Vsebina | Točka preverjanja |
|---|---|---|
.env, .env.local |
Dostop do podatkovne zbirke, APP_SECRET |
Ob sumu obnoviti |
config/config.yaml |
Konfiguracija namestitve | Nepričakovane spremembe |
public/ (starejše različice web/) |
Korenska mapa dokumentov z index.php, datoteko Contao Manager, sredstvi |
Dodatne datoteke PHP |
files/ |
Upravljanje datotek urednikov | Brez datotek PHP |
templates/ |
Lastne predloge, klasično kot .html5 s PHP |
Neznane ali spremenjene predloge |
system/config/localconfig.php |
Starejše nastavitve | Vstavljena koda |
var/ |
Predpomnilnik in dnevniki | Zavarovati dnevnike, predpomnilnik ustvariti znova |
Prav templates/ se podcenjuje: klasične predloge Contao s končnico .html5 so datoteke PHP. Vstavljen ukaz v lastni predlogi teče ob vsakem klicu strani in preživi posodobitve Contao.
Neškodljivi prvi pregledi:
# Datoteke PHP v upravljanju datotek
find files -type f -name "*.php"
# Predloge, spremenjene od 17. 10. 2026
find templates -type f -newermt "2026-10-17"
# Preveri razpoložljive ukaze Contao in odvisnosti
vendor/bin/contao-console list contao
composer audit
Contao Manager lahko namešča pakete in tako na strežnik prinese poljubno kodo. Ob sumu preglejte njegove uporabniške račune, dodelite nova gesla in odstranite dostope nekdanjih izvajalcev.
Skrbniški del, Manager in razširitve
Skrbniški del je pod /contao. Preverite uporabnike s skrbniškimi pravicami in uporabniške skupine s širokimi pravicami, na primer za upravljanje datotek, predlog ali uporabnikov. Contao prinaša dvofaktorsko prijavo; uporabite jo za vse račune z visokimi pravicami.
Razširitve se namestijo prek Composerja ali Contao Managerja. Vsaka prinaša kodo PHP, starejše razširitve brez vzdrževanja pa zavirajo nadgradnje PHP. Na strežnikih z več spletnimi stranmi naj vsaka namestitev teče ločeno, da se incident ne razširi na sosednje strani; več o tem v prispevku open_basedir in izolacija po spletni strani.
Kaj posodobitev Contao zmore in česa ne
Posodobitev Contao prek Managerja ali Composerja zapre znane napake v Contao in razširitvah. PHP ne popravi in ne zažene znova ne PHP-FPM ne procesov v ozadju. Lastne predloge, datoteke v files/ in tuji uporabniški računi ostanejo nespremenjeni. Po zamenjavi glavne različice PHP naj se predpomnilnik ustvari znova in spletna stran preveri v testnem okolju.
Pri spletnih straneh z več uredniki se po popravku splača pogledati pravice v skrbniškem delu. Kdor sme urejati predloge, lahko v klasične predloge .html5 vnese kodo PHP. Ta pravica sodi samo v roke redkih, tehnično podkovanih oseb. Enako velja za dostop do upravljanja datotek s pravicami nalaganja v javno dosegljive mape.
Kako PHP SOS pomaga konkretno?
- Ugotovimo PHP za splet in CLI vaše namestitve Contao ter dosežemo potrditev popravka in ponovnega zagona.
- Dnevnike, datoteke in podatkovno zbirko zavarujemo, preden karkoli spremenimo.
- Preverimo predloge,
files/, korensko mapo dokumentov ter račune v skrbniškem delu in Managerju. - Zamenjavo PHP z dokazilom na željo prevzame naša storitev popravljanja PHP, usklajena z vašo agencijo.
Pogosta vprašanja
Ali je Contao prizadet zaradi PHP2Shell?
Contao sam nima nove ranljivosti. Če pa spletna stran teče na nepopravljenem PHP, je ranljiva kot vsaka aplikacija PHP. Posodobitev Contao ranljivosti PHP ne zapre.
Zakaj je Contao Manager pomemben za varnost?
Contao Manager lahko namešča, posodablja in odstranjuje pakete. Kdor ima dostop do njega, lahko vnese poljubno kodo. Dostop zato potrebuje močno geslo in malo pooblaščenih oseb.
Ali predloge Contao vsebujejo kodo PHP?
Klasične predloge s končnico .html5 so predloge PHP. Lastne predloge v mapi templates lahko zato vsebujejo PHP. Neznane ali pred kratkim spremenjene predloge morate znati pojasniti.