Na kratko: Ranljivost PHP2Shell v TYPO3 ne zadeva samega TYPO3, ampak PHP pod njim. Posodobitev TYPO3 zato ne pomaga. Preverite stanje PHP in ponovni zagon, zaklenite Install Tool ter preglejte fileadmin, typo3temp in nameščene razširitve.
Zakaj naj upravljavci TYPO3 zdaj ukrepajo
TYPO3 je v Nemčiji razširjen pri občinah, visokih šolah, zvezah in srednje velikih podjetjih. Številne od teh spletnih strani več let stabilno delujejo in se jih le redko dotakne. Prav to jih pri PHP2Shell dela ranljive: ranljivosti CVE-2026-109618 in CVE-2026-109619 sta v interpreterju PHP in po navedbah ekipe PHP omogočata izvajanje škodljive kode na daljavo brez prijave.
BSI (nemški zvezni urad za informacijsko varnost) je razglasil opozorilno stopnjo 3 (oranžna) in priporoča takojšnjo posodobitev. Če to ni mogoče, naj se spletni strežniki začasno odklopijo z omrežja. Povzetek uradnega položaja najdete v prispevku Kaj BSI priporoča glede PHP2Shell.
Ranljivost PHP v TYPO3: preverite stanje PHP v skrbniškem delu
Skrbniki različico PHP v TYPO3 vidijo na dveh mestih: v sistemskih informacijah v zgornji vrstici skrbniškega dela in pod Admin Tools > Okolje (v novejših različicah v modulu Sistem). Tam TYPO3 preveri tudi, ali okolje ustreza zahtevam.
Odpravljene različice izvorne kode so 8.5.12, 8.4.27, 8.3.36 in 8.2.35. Številni strežniki TYPO3 tečejo na distribucijah Linuxa, ki popravke dostavljajo kot backport; takrat številka različice ostane enaka. Odločilna sta stanje paketa in potrditev upravljavca. Katere različice PHP podpira vaša različica TYPO3, preverite v sistemskih zahtevah na typo3.org.
Številne namestitve TYPO3 poleg tega Scheduler poganjajo prek cron opravila s PHP v ukazni vrstici. Ta PHP CLI je lahko druga različica kot PHP za splet in mora biti prav tako popravljen. Če ste v dvomu, preverite, katera pot PHP je v cron opravilu. Pri postavitvah z več strežniki to velja za vsak posamezen strežnik, tudi za urejevalne strežnike in strežnike za predogled, ki jih pogosto pozabijo.
Na starejših strežnikih organov PHP pogosto še teče kot modul Apache. Ekipa PHP ta način delovanja ocenjuje kot najvišje tveganje, zakaj, pojasnjuje prispevek Zakaj ima mod_php najvišje tveganje.
Mape in konfiguracija v TYPO3
Struktura je odvisna od različice in načina namestitve. Novejše namestitve prek Composerja ločujejo javne in notranje datoteke, starejše klasične namestitve pa ne.
| Mesto | Vsebina | Točka preverjanja |
|---|---|---|
config/system/settings.php oz. typo3conf/LocalConfiguration.php (starejše različice) |
Dostop do podatkovne zbirke, ključ za šifriranje, geslo Install Tool | Datum spremembe, ob sumu obnoviti vrednosti |
fileadmin/ |
Datoteke urednikov | Datoteke PHP sem ne sodijo |
typo3temp/ |
Zapisljive začasne datoteke | Nepričakovane datoteke PHP |
typo3conf/ext/ oz. vendor/ |
Razširitve | Neznane ali spremenjene razširitve |
var/log/ oz. typo3temp/var/log/ |
Dnevniki | Zavarovati pred spremembami |
Neškodljivi pregledi v ukazni vrstici, poti prilagodite svoji namestitvi:
# Datoteke PHP v mapah urednikov in začasnih mapah
find public/fileadmin public/typo3temp -type f -name "*.php"
# Ali kje leži datoteka za odklep Install Tool?
find . -name "ENABLE_INSTALL_TOOL"
# Prikaži aktivne razširitve (namestitev prek Composerja)
vendor/bin/typo3 extension:list
Izvajanje PHP v fileadmin in typo3temp preprečite na ravni spletnega strežnika. Tako tam odložen webshell vsaj ni neposredno dosegljiv, tudi če je prišel na strežnik.
Skrbniški del, Install Tool in razširitve
Skrbniški del je pod /typo3. Preverite skrbniške uporabnike glede neznanih računov s skrbniškimi pravicami ter računov nekdanjih sodelavcev ali agencij. TYPO3 pozna še »System Maintainer« z zelo širokimi pravicami v območju Admin Tools; ta seznam naj bo zelo kratek.
Install Tool ima lastno geslo. Ob sumu ga obnovite enako kot ključ za šifriranje. Razširitve iz TYPO3 Extension Repository in lastni razvoji so dodatna koda; prav starejši lastni razvoji pogosto zavirajo nadgradnjo PHP. Ugotovite, katere razširitve so res potrebne.
Kaj posodobitev TYPO3 zmore in česa ne
Posodobitev TYPO3 zapre znane napake v jedru, posodobitev razširitve napake v razširitvi. Nobena ne popravi PHP, ne zažene znova procesov in ne odstrani webshella iz fileadmin. Tudi sveže posodobljen TYPO3 torej lahko vsebuje stranska vrata iz časa pred popravkom. Poleg tega lahko prehod na novejšo različico PHP pri starih različicah TYPO3 zahteva nadgradnjo TYPO3. Takrat potrebujete vmesno zaščito in časovni načrt.
Za javne organe je pomembna še dokumentacija. Zapišite, kdaj je bil popravek nameščen, kdaj je bil opravljen ponovni zagon in katere preglede ste opravili s kakšnim rezultatom. To olajša vprašanja informacijske varnosti, varstva podatkov in računskega sodišča. Tudi vaš izvajalec naj vam te točke potrdi pisno.
Kako PHP SOS pomaga konkretno?
- Ugotovimo različico PHP, način delovanja in stanje backportov na vašem strežniku TYPO3 ter dosežemo potrditev ponovnega zagona.
- Dnevnike od 20. 10. 2026 ter trenutno stanje datotek in podatkovne zbirke zavarujemo.
- Preverimo
fileadmin,typo3temp, konfiguracijo, razširitve in skrbniške račune glede nepravilnosti. - V okviru utrjevanja strežnika blokiramo izvajanje PHP v mapah za nalaganje in stanje dokumentiramo za vašo informacijsko varnost.
Pogosta vprašanja
Ali moram zaradi PHP2Shell posodobiti TYPO3?
Posodobitev TYPO3 PHP2Shell ne zapre, ker je ranljivost v PHP na strežniku. TYPO3 kljub temu ohranjajte aktualen. Za PHP2Shell potrebujete posodobitev PHP ali potrjen backport in ponovni zagon vseh procesov PHP.
Kje v TYPO3 vidim različico PHP?
Skrbniki jo vidijo v sistemskih informacijah v zgornji vrstici skrbniškega dela in v območju Admin Tools pod Okolje. Ali je nameščen backport, TYPO3 ne pokaže; to potrdi ponudnik gostovanja ali skrbnik strežnika.
Kaj je datoteka ENABLE_INSTALL_TOOL?
Odklene Install Tool, s katerim je mogoče spreminjati osrednje nastavitve. V običajnem delovanju te datoteke ne sme biti. Če se nepričakovano pojavi, je to razlog za natančnejši pregled.
Ali za organe s TYPO3 veljajo posebne obveznosti?
Javni organi se pogosto ravnajo po nemškem IT-Grundschutz urada BSI (nemški zvezni urad za informacijsko varnost) in po predpisih svoje dežele. Katere obveznosti veljajo v posameznem primeru, razjasnite s svojim pooblaščencem za informacijsko varnost in varstvo podatkov.