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ć →

Luka bezpieczeństwa Joomla i PHP2Shell: jak zabezpieczyć strony Joomla

PHP2Shell dotyka Joomlę przez PHP serwera. Po poprawce i restarcie należy sprawdzić configuration.php, nadpisania szablonów, rozszerzenia i konta super użytkowników.

Stan 4 min czytaniaPlatformy

Krótko: Luka bezpieczeństwa Joomla, o której obecnie się mówi, nazywa się PHP2Shell i leży w PHP serwera, a nie w Joomli. Aktualizacja Joomli jej nie zamyka. Po poprawce PHP i restarcie należy sprawdzić configuration.php, nadpisania szablonów, rozszerzenia i listę super użytkowników.

Co PHP2Shell oznacza dla Joomli

Joomla to CMS w PHP i dziedziczy każdą słabość PHP pod spodem. Luki CVE-2026-109618 i CVE-2026-109619 umożliwiają według zespołu PHP wykonanie złośliwego kodu bez logowania. Dotknięte są zwykłe tryby pracy: PHP-FPM, Apache z mod_php, php-cgi, FrankenPHP i LiteSpeed.

Zwłaszcza mniejsze strony Joomla stowarzyszeń, firm rzemieślniczych czy związków działają często na hostingu współdzielonym i są rzadko pielęgnowane. Tam aktualizacja PHP leży po stronie firmy hostingowej. Państwa zadaniem jest zapytać o stan i sprawdzić stronę pod kątem śladów. Które wersje są dotknięte, pokazuje artykuł Które wersje PHP są dotknięte?.

Luka bezpieczeństwa Joomla: sprawdzanie wersji PHP

W panelu administratora System > Informacje o systemie pokazuje wersję PHP i najważniejsze ustawienia PHP. Jest to wersja, na której Joomla faktycznie działa w sieci. Naprawione wersje upstream to 8.5.12, 8.4.27, 8.3.36 i 8.2.35. Jeśli Joomla pokazuje starszy numer, backport mimo to mógł zostać wprowadzony; musi to potwierdzić Państwa firma hostingowa.

Na hostingu współdzielonym wersję PHP można często przełączyć dla każdej domeny w menu klienta firmy hostingowej. Przełącza to jednak tylko między wersjami udostępnianymi przez firmę hostingową; to, czy są załatane, rozstrzyga firma hostingowa. Przejście na nowszą wersję główną może mimo to być sensowne, jeśli Państwa wersja Joomli i wszystkie rozszerzenia ją obsługują. Proszę to wcześniej przetestować, ponieważ starsze rozszerzenia przy nowszych wersjach PHP często przerywają działanie z komunikatami o błędach.

Joomla sama podaje minimalne wymagania wobec PHP dla każdej wersji głównej. To, które wersje PHP obsługuje Państwa wersja Joomli, można sprawdzić w wymaganiach systemowych na joomla.org. W bardzo starych wersjach Joomli zmiana PHP może najpierw wymagać aktualizacji Joomli.

Typowe kryjówki złośliwego kodu w Joomli

Miejsce Zawartość Na co zwracać uwagę
configuration.php Dane dostępowe do bazy danych, $secret, ścieżki logów i plików tymczasowych Data zmiany, dopisany kod
images/, media/ Obrazy i media Pliki PHP są podejrzane
tmp/ Pliki tymczasowe, także z instalacji Pozostałości obcych pakietów
templates/<name>/html/ Nadpisania szablonów z kodem PHP Nieznane lub zmienione nadpisania
plugins/system/ Wtyczki systemowe ładowane przy każdym wywołaniu Nieznane wtyczki
administrator/logs/ Logi Zabezpieczyć przed zmianami
.htaccess Przekierowania, reguły rewrite Przekierowania tylko dla wyszukiwarek

Wtyczki systemowe są szczególnie popularne, ponieważ wykonują się przy każdym wyświetleniu strony. Nieznaną wtyczkę w tym folderze zawsze powinni Państwo umieć wyjaśnić.

Bezpieczne kontrole w wierszu poleceń (Joomla 4 i nowsza ma własną konsolę):

# Pliki PHP w folderach mediów i plików tymczasowych
find images media tmp -type f -name "*.php"
# Wypisanie użytkowników i rozszerzeń
php cli/joomla.php user:list
php cli/joomla.php extension:list
Ważne

Jeśli Państwa strona Joomla przekierowuje odwiedzających z Google na obce strony albo Google wyświetla ostrzeżenie, serwer jest bardzo prawdopodobnie już skompromitowany. Wtedy nie wystarczy aktualizacja, potrzebne jest oczyszczenie, a następnie weryfikacja w Search Console.

Dostęp administratora i rozszerzenia

Panel administratora znajduje się pod /administrator. Proszę sprawdzić grupę użytkowników „Super Users” pod kątem nieznanych kont i kont byłych dostawców usług. Proszę włączyć uwierzytelnianie dwuskładnikowe, które Joomla zapewnia, i używać kont osobistych zamiast wspólnych.

Rozszerzeń z Joomla Extensions Directory i od zewnętrznych dostawców jest na wielu stronach sporo: formularze, galerie, kreatory stron, newslettery. Każde wnosi własny kod PHP i często własne funkcje przesyłania plików. Rozszerzenia, których dostawca nie wydaje już aktualizacji, to stałe ryzyko i utrudniają każdą aktualizację PHP. Nieużywane proszę odinstalować w całości.

Co potrafi aktualizacja Joomli, a czego nie

Aktualizacja Joomli zastępuje pliki rdzenia i zamyka znane luki w Joomli. Nie łata PHP, nie rusza nadpisań szablonów ani obcych rozszerzeń i nie usuwa plików, które nie należą do rdzenia. Również wpisy w bazie danych, takie jak nowi super użytkownicy, pozostają.

Jeśli Państwa strona została już zmieniona, pomoże procedura opisana w artykule Strona zhakowana? Zdalna pomoc awaryjna. Przy poszukiwaniu tylnych drzwi warto zajrzeć do poradnika Rozpoznawanie i usuwanie webshelli.

Jeśli Państwa stronę Joomla skonfigurowała agencja lub freelancer, proszę tam zapytać, które rozszerzenia i szablony zostały indywidualnie dostosowane. Dostosowanych plików nie da się po prostu porównać z oryginalnym pakietem i wymagają one osobnej kontroli.

Jak konkretnie pomaga PHP SOS?

  • Zapytujemy o stan PHP u Państwa firmy hostingowej lub sprawdzamy go na Państwa serwerze, wraz z restartem.
  • Zabezpieczamy logi, pliki i bazę danych przed każdą zmianą.
  • Porównujemy rdzeń z oryginalnym pakietem i sprawdzamy nadpisania, wtyczki systemowe, foldery mediów i super użytkowników.
  • W razie znalezisk oczyszczamy stronę, odnawiamy dostępy i wspieramy usuwanie ostrzeżeń Google.

Częste pytania

Czy Joomla jest dotknięta przez PHP2Shell?

Sama Joomla nie ma nowej luki, ale działa na PHP. Jeśli PHP serwera nie jest załatane, atakujący może według zespołu PHP wykonać kod bez logowania. Aktualizacja Joomli niczego tu nie zmienia.

Gdzie w Joomli znajdę wersję PHP?

W panelu administratora w System > Informacje o systemie. Zobaczą tam Państwo także ustawienia PHP. Tego, czy wprowadzono backport, nie widać po numerze; musi to potwierdzić Państwa firma hostingowa.

Dlaczego nadpisania szablonów są ryzykiem?

Nadpisania (overrides) leżą w folderze szablonu i zawierają kod PHP, który zastępuje wyświetlanie komponentów i modułów. Wprowadzony tam kod jest prawie niezauważalny, ponieważ nadpisania nie są zastępowane przy aktualizacjach Joomli.

Ź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