Luka w PHP z 21 października: co się wydarzyło i jak sytuacja wygląda obecnie
W środę 21 października ujawniono dwie poważne luki bezpieczeństwa w PHP, języku programowania, na którym działa zdecydowana większość wszystkich stron internetowych, w tym WordPress. Być może Państwo to zauważyli, ponieważ przez część dnia strony internetowe u nas były niedostępne. W tym artykule przedstawiamy, co się wydarzyło, jak zareagowaliśmy i jak wygląda sytuacja obecnie.
Co się stało?
Luki (CVE-2026-109618 i CVE-2026-109619) umożliwiały osobom nieuprawnionym wykonanie kodu na serwerze WWW. To mniej więcej najgorszy możliwy rodzaj luki: osoba atakująca nie potrzebuje do tego hasła, a problem dotyczy praktycznie całego internetu.
Jak zareagowaliśmy
- Tymczasowy środek zaradczy
W tym momencie wiadomo było jedynie, że we wszystkich wersjach PHP występują dwie poważne luki, z oceną CVE na poziomie 9,2. Nie było jeszcze żadnych szczegółów ani znanych udanych włamań, choć na przykład Cloudflare odnotowywał coraz więcej prób ataku. Ponieważ szczegóły luki nie były znane, nikt nie wiedział dokładnie, na czym polega problem ani co można zrobić, by ograniczyć ryzyko. Na bieżąco pojawiały się jednak informacje o możliwych działaniach zaradczych i sposobach ograniczenia ryzyka. Wdrażaliśmy je natychmiast, między innymi poprzez wyłączenie niektórych funkcji PHP oraz wielokrotną aktualizację zapory sieciowej.
Od godziny 10:00 uruchomiliśmy również ciągłe, bardzo rygorystyczne skanowanie pod kątem złośliwego oprogramowania, aby od razu wykryć, gdyby na naszych serwerach lub w kontach naszych klientów umieszczono jakikolwiek skrypt. Nic takiego nie miało miejsca. - Strony internetowe offline
Mimo że nie zaobserwowaliśmy prób wykorzystania luki na naszych serwerach, zdecydowaliśmy się na najbezpieczniejszą opcję: wyłączenie wszystkiego. Głównym powodem były nasze wątpliwości co do skuteczności środków zaradczych (tymczasowych rozwiązań) krążących w internecie, ponieważ nikt nie mógł potwierdzić, że zapewnią one wystarczającą ochronę.
W sytuacji obarczonej tak dużą niepewnością i potencjalnie ogromnymi konsekwencjami kilka godzin przestoju można uzasadnić, natomiast podjęcia ryzyka nie można. - Oficjalne rozwiązanie
Twórcy PHP wydali oficjalną aktualizację zawierającą poprawkę dla wersji 8.3, 8.4 i 8.5. Następnie pozostało czekać na zaktualizowane pakiety od CloudLinux, dostawcy wersji PHP na naszych serwerach.
Wraz z publikacją aktualizacji ujawniono również szczegóły luk, co potwierdziło nasze przypuszczenia: znane środki zaradcze oraz dodatkowe reguły zapory sieciowej co prawda zmniejszały ryzyko włamania, lecz nie były wystarczające, aby w pełni zabezpieczyć serwer. - Rozwiązanie tymczasowe
Niestety przygotowanie aktualizacji przez CloudLinux zajęło znacznie więcej czasu, niż mieliśmy nadzieję i niż się spodziewaliśmy. Z kontaktów z innymi dostawcami usług hostingowych wynikało, że nie byliśmy jedyni, których to zaskoczyło. Ponieważ widzieliśmy, że CloudLinux już kilkukrotnie nie dotrzymał własnych terminów, pracowaliśmy nad rozwiązaniem tymczasowym.
Samodzielnie zainstalowaliśmy wersję PHP 8.3.36 na wszystkich naszych serwerach i tymczasowo przełączyliśmy na nią wszystkich naszych klientów. 90% stron internetowych wróciło online między 19:00 a 20:30. Jedyne strony, które nie wróciły online, były przestarzałe i nie mogły działać na nowoczesnej wersji PHP. - Aktualizacja
Aktualizacje stały się dostępne i od razu rozpoczęliśmy ich instalację oraz weryfikację, serwer po serwerze.
- Rozwiązano
Wszystkie serwery zostały zaktualizowane, a wszystkie strony internetowe ponownie działały online, na tej samej wersji PHP co wcześniej.
Doskonale rozumiemy, że sytuacja, w której Państwa strona internetowa jest niedostępna przez popołudnie i wieczór, jest nieprzyjemna. Jednak to niedogodność, która nie równoważy potencjalnych konsekwencji. Nigdy wcześniej nie musieliśmy podejmować decyzji o wyłączeniu wszystkiego z ostrożności, ale gdyby podobna sytuacja powtórzyła się, postąpilibyśmy dokładnie tak samo.
Jak wygląda sytuacja obecnie?
- Wszystkie oferowane przez nas wersje PHP, od 5.2 do 8.5 włącznie, zawierają poprawki bezpieczeństwa dla obu luk.
- Nieliczne strony internetowe działające na jeszcze starszej wersji PHP, dla której nie istnieje poprawka, zostały przez nas przeniesione na wersję z poprawką.
- Podczas i po wystąpieniu luki sprawdziliśmy serwery pod kątem śladów nadużyć, takich jak zawieszające się procesy PHP, podejrzane procesy, przesłane pliki oraz żądania pasujące do znanego ataku. Nie znaleźliśmy żadnych wskazówek, że luka została wykorzystana na naszych serwerach, a przed wyłączeniem usług nie wykryto również żadnych prób jej wykorzystania.
Czy moja strona internetowa jest oddzielona od stron innych klientów?
Tak. Każdy pakiet hostingowy działa u nas we własnym, odizolowanym środowisku. PHP działa pod użytkownikiem przypisanym do Państwa pakietu, bez uprawnień administracyjnych na serwerze, i nie ma dostępu do plików ani baz danych innych klientów. Również wykorzystanie procesora i pamięci jest ograniczone dla każdego pakietu osobno. Więcej szczegółów dotyczących naszych zabezpieczeń świadomie nie udostępniamy publicznie: im mniej wie potencjalny napastnik, tym lepiej.
Czytaj kolejne artykuły

Przechodzimy na Euro-Office: nowy pakiet biurowy w Państwa Nextcloud
Nowość: serwer MCP dla AI. Własne AI może pracować nad Państwa stroną
AI może teraz pracować bezpośrednio nad stroną internetową w WebOké: zmieniać pliki, wyszukiwać błędy, tworzyć nowy projekt graficzny lub przekształcić WordPress w szybką stronę statyczną. Wyjaśniamy, czym jest serwer MCP, co daje, w jakich pakietach jest dostępny i ile kosztuje (nic dodatkowo).

