Aktualna sytuacja: PHP2Shell. Dwie krytyczne luki w PHP (CVSS 9,2) umożliwiają wykonanie złośliwego kodu bez logowania. Poprawki od 21.10.2026.Co należy teraz zrobić →

Bezpieczeństwo Contao po PHP2Shell: jak prawidłowo zabezpieczyć strony

Contao działa na PHP i Symfony. Po PHP2Shell liczą się poprawka PHP dla WWW i wiersza poleceń, chroniony Contao Manager oraz kontrola files i templates.

Stan 4 min czytaniaPlatformy

Krótko: Bezpieczeństwo Contao zależy przy PHP2Shell od PHP serwera, a nie od Contao. Proszę zadbać o to, aby zarówno PHP sieciowe, jak i PHP wiersza poleceń Contao Managera były załatane. Następnie należy sprawdzić .env, własne szablony, folder files oraz dostępy do backendu i Managera.

Contao i PHP2Shell: o co chodzi

Contao to CMS rozpowszechniony w krajach niemieckojęzycznych, oparty od wersji 4 na frameworku Symfony. Luki PHP CVE-2026-109618 i CVE-2026-109619 umożliwiają według zespołu PHP zdalne wykonanie złośliwego kodu bez logowania. Dotyczą samego PHP, a więc także każdej instalacji Contao na niezałatanym serwerze.

Wiele stron Contao należy do średnich firm, związków i gmin i jest prowadzonych przez agencje. Proszę dlatego najpierw ustalić, kto odpowiada za PHP: firma hostingowa, agencja czy własny dział IT.

Częsty błąd dotyczy trybu konserwacji. Contao potrafi zablokować stronę dla odwiedzających, lecz ta blokada jest sama dostarczana przez PHP. Każde żądanie nadal trafia więc do interpretera PHP. Przed PHP2Shell tryb konserwacji nie chroni. Kiedy BSI (niemiecki Federalny Urząd ds. Bezpieczeństwa w Technice Informatycznej) zaleca odłączenie serwerów WWW od sieci do czasu aktualizacji, ma na myśli blokadę na poziomie serwera lub hostingu, a nie ustawienie w CMS.

Bezpieczeństwo Contao zaczyna się od dwóch wersji PHP

Contao używa PHP na dwa sposoby. Serwer WWW obsługuje wywołania stron zwykle przez PHP-FPM. Contao Manager i konsola Contao pracują dodatkowo z PHP wiersza poleceń, na przykład przy instalacjach, aktualizacjach i zadaniach cron. W pakietach hostingowych z kilkoma wersjami PHP mogą to być dwa różne programy.

Contao Manager pokazuje w konfiguracji serwera, jakiego pliku programu PHP używa. Wersję sieciową zobaczą Państwo w panelu hostingu. Naprawione wersje upstream to 8.5.12, 8.4.27, 8.3.36 i 8.2.35; backporty mogą nosić starsze numery. Obie ścieżki muszą być załatane, a wszystkie procesy zrestartowane. To, które wersje PHP obsługuje Państwa wersja Contao, można sprawdzić w wymaganiach systemowych na contao.org. Więcej o kontroli w artykule Jak prawidłowo sprawdzić wersję PHP i stan poprawek.

Katalogi i pliki w Contao

Miejsce Zawartość Punkt kontroli
.env, .env.local Dane dostępowe do bazy danych, APP_SECRET Po podejrzeniu odnowić
config/config.yaml Konfiguracja instalacji Nieoczekiwane zmiany
public/ (starsze wersje web/) Katalog główny dokumentów z index.php, plikiem Contao Managera, zasobami Dodatkowe pliki PHP
files/ Zarządzanie plikami redaktorów Brak plików PHP
templates/ Własne szablony, klasycznie jako .html5 z PHP Nieznane lub zmienione szablony
system/config/localconfig.php Starsze ustawienia Dopisany kod
var/ Pamięć podręczna i logi Zabezpieczyć logi, wygenerować pamięć podręczną od nowa

Właśnie templates/ bywa niedoceniany: klasyczne szablony Contao z rozszerzeniem .html5 to pliki PHP. Dopisane polecenie we własnym szablonie wykonuje się przy każdym wywołaniu strony i przetrwa aktualizacje Contao.

Bezpieczne pierwsze kontrole:

# Pliki PHP w zarządzaniu plikami
find files -type f -name "*.php"
# Szablony zmienione od 17.10.2026
find templates -type f -newermt "2026-10-17"
# Sprawdzenie dostępnych poleceń Contao i zależności
vendor/bin/contao-console list contao
composer audit
Ważne

Contao Manager może instalować pakiety, a tym samym wprowadzać na serwer dowolny kod. W razie podejrzenia proszę sprawdzić jego konta użytkowników, nadać nowe hasła i usunąć dostępy byłych dostawców usług.

Backend, Manager i rozszerzenia

Backend znajduje się pod /contao. Proszę sprawdzić użytkowników z uprawnieniami administratora oraz grupy użytkowników z daleko idącymi prawami, na przykład do zarządzania plikami, szablonów lub zarządzania użytkownikami. Contao ma uwierzytelnianie dwuskładnikowe; proszę z niego korzystać dla wszystkich kont z podwyższonymi uprawnieniami.

Rozszerzenia instaluje się przez Composera lub Contao Managera. Każde wnosi kod PHP, a starsze rozszerzenia bez opieki hamują aktualizacje PHP. Na serwerach z kilkoma stronami każda instalacja powinna działać osobno, aby incydent nie przenosił się na sąsiednie strony; więcej na ten temat w artykule open_basedir i izolacja każdej strony.

Co potrafi aktualizacja Contao, a czego nie

Aktualizacja Contao przez Managera lub Composera zamyka znane błędy w Contao i rozszerzeniach. Nie łata PHP i nie restartuje ani PHP-FPM, ani procesów w tle. Własne szablony, pliki w files/ i obce konta użytkowników pozostają bez zmian. Po zmianie głównej wersji PHP należy wygenerować pamięć podręczną od nowa i sprawdzić stronę w środowisku testowym.

W przypadku stron z wieloma redaktorami po zainstalowaniu poprawki warto przyjrzeć się uprawnieniom w backendzie. Kto może edytować szablony, może zapisać kod PHP w klasycznych szablonach .html5. To uprawnienie powinno trafić tylko do niewielu, technicznie biegłych osób. To samo dotyczy dostępu do zarządzania plikami z prawem przesyłania do publicznie dostępnych folderów.

Jak konkretnie pomaga PHP SOS?

  • Ustalamy PHP sieciowe i CLI Państwa instalacji Contao oraz prosimy o potwierdzenie poprawki i restartu.
  • Zabezpieczamy logi, pliki i bazę danych, zanim cokolwiek zmienimy.
  • Sprawdzamy szablony, files/, katalog główny dokumentów oraz konta backendu i Managera.
  • Zmianę PHP z dokumentacją przejmuje na życzenie nasza usługa łatania PHP, uzgodniona z Państwa agencją.

Częste pytania

Czy Contao jest dotknięte przez PHP2Shell?

Samo Contao nie ma nowej luki. Jeśli jednak strona działa na niezałatanym PHP, jest podatna na atak jak każda aplikacja PHP. Aktualizacja Contao nie zamyka luki w PHP.

Dlaczego Contao Manager ma znaczenie dla bezpieczeństwa?

Contao Manager potrafi instalować, aktualizować i usuwać pakiety. Kto ma do niego dostęp, może wgrać dowolny kod. Dostęp wymaga więc silnego hasła i niewielu uprawnionych osób.

Czy szablony Contao zawierają kod PHP?

Klasyczne szablony z rozszerzeniem .html5 są szablonami PHP. Własne szablony w folderze templates mogą więc zawierać PHP. Nieznane lub niedawno zmienione szablony powinni Państwo umieć wyjaśnić.

Źródła

Kontakt natychmiast

Liczy się każda godzina. Proszę napisać do nas teraz.

Proszę krótko opisać system, wersję PHP i obserwacje. Skontaktujemy się z Państwem, ustalimy sytuację i będziemy pracować zdalnie, aż incydent zostanie zamknięty i udokumentowany.

Natychmiastowa pomoc