opened image

Krytyczne luki w zabezpieczeniach PHP: co robić i jak chronić swoją stronę internetową

Witajcie, drodzy klienci Zomro! W PHP wykryto dwie krytyczne luki w zabezpieczeniach, które umożliwiają atakującym zdalne wykonywanie kodu na serwerze. Zagrożone są strony korzystające z PHP, w tym WordPress, Bitrix i Drupal. Wyjaśniamy, jakie działania należy podjąć, aby zabezpieczyć serwer, i dlaczego tak ważne jest jak najszybsze zaktualizowanie PHP.

 

Co się stało?

 

W PHP wykryto dwie krytyczne luki w zabezpieczeniach (CVE-2026-109618, CVE-2026-109619, CVSS 9,2 na 10). Umożliwiają one atakującym zdalne wykonywanie kodu na serwerze.

 

Podatna jest każda strona korzystająca z PHP 5.4 lub nowszego w domyślnej konfiguracji, w tym WordPress, WooCommerce, Bitrix, Drupal i projekty tworzone na zamówienie. Obecność formularzy przesyłania plików na stronie nie ma znaczenia.

 

Poprawki zostały wydane 21 października o 14:00 UTC (16:00 CET). Exploity są już publicznie dostępne, a masowych ataków można się spodziewać zaraz po opublikowaniu poprawek.

 

Przed wydaniem poprawki

 

Wykonaj następujące czynności:

 

  1. Sprawdź wersję PHP obsługującą Twoją stronę w panelu sterowania lub za pomocą polecenia:

    php -v

    Jeśli na serwerze zainstalowano kilka wersji PHP, sprawdź każdą z nich.

  2. Utwórz kopię zapasową lub migawkę serwera.

  3. Włącz tymczasową ochronę. Zmniejsza ona ryzyko, ale nie eliminuje całkowicie podatności:

  • W pliku php.ini ustaw:

    session.upload_progress.enabled = Off

    W przypadku PHP-FPM użyj:

    php_admin_flag[session.upload_progress.enabled] = off

    Następnie uruchom ponownie PHP. Według twórców PHP samo to ustawienie nie wystarczy.
     

  • Zablokuj żądania multipart na serwerze WWW:

    nginx:

    if ($http_content_type ~* "multipart") { return 403; }

    Apache:

    RewriteCond %{HTTP:Content-Type} multipart [NC]
    RewriteRule ^ - [F,L]

 

Uwaga! Przesyłanie plików za pomocą formularzy i paneli administracyjnych przestanie działać (pliki multimedialne w WordPressie, załączniki, import). Stosuj to rozwiązanie tylko wtedy, gdy Twoja strona może tymczasowo działać bez możliwości przesyłania plików.

 

  • Jeśli Twoja strona korzysta z Cloudflare lub innego WAF, upewnij się, że reguły bezpieczeństwa są włączone. Zapewnia to dodatkową warstwę ochrony, ale nie zastępuje aktualizacji PHP.

 

Po wydaniu poprawki

 

  1. Zaktualizuj PHP do poprawionej wersji swojej gałęzi: 8.5.12, 8.4.27, 8.3.36, 8.2.35 lub nowszej.

  2. Jeśli PHP zostało zainstalowane z repozytorium Twojej dystrybucji (apt/dnf), zainstaluj aktualizacje, gdy tylko będą dostępne. Użytkownicy repozytorium Remi powinni pamiętać, że w dniu wydania poprawek aktualizacje mogą jeszcze nie być dostępne.

  3. Po aktualizacji uruchom ponownie PHP-FPM i serwer WWW, a następnie ponownie sprawdź wersję PHP.

  4. Sprawdź, czy na stronie nie ma oznak włamania: nieznanych plików .php (szczególnie w katalogach przesyłania plików), nowych kont administratorów, nieznanych zadań cron oraz niewyjaśnionych skoków obciążenia procesora.

 

Jeśli korzystasz z PHP 8.1 lub starszej wersji, twórcy PHP nie będą wydawać oficjalnych poprawek dla tych gałęzi. Zaplanuj przejście na PHP 8.2 lub nowsze (zalecamy PHP 8.4) i najpierw sprawdź zgodność systemu CMS oraz wtyczek na kopii testowej. Utrzymuj tymczasową ochronę do czasu zakończenia aktualizacji.