INFORMATICS

The Best

Przełącznik języka

Select your language

Zaproś mnie na KAWE

Jeżeli podoba Ci się strona i chcesz wspomóc projekt!

Postaw mi kawę na buycoffee.to

This Site

Płatnik

CMS

Hardware

Uncategorised

Emulators

Powershell

Storage Array

DNS

Antivirus program

PHP2Shell – krytyczne podatności w PHP (CVE-2026-109618 i CVE-2026-109619). Co musisz wiedzieć i jak się zabezpieczyć

PHP2Shell – krytyczne podatności w PHP (CVE-2026-109618 i CVE-2026-109619). Co musisz wiedzieć i jak się zabezpieczyć

21 października 2026 zespół PHP wydał awaryjną aktualizację bezpieczeństwa, łatającą dwie krytyczne podatności w samym rdzeniu języka PHP. Błędy, określane w społeczności jako PHP2Shell, umożliwiają zdalne wykonanie kodu (RCE) bez uwierzytelnienia. Oba otrzymały ocenę CVSS v4.0 9.2.

Dotyczą one praktycznie wszystkich instalacji PHP obsługujących żądania HTTP – w tym PHP-FPM, Apache mod_php, php-cgi, FrankenPHP i LiteSpeed. Najwyższe ryzyko dotyczy konfiguracji mod_php, gdzie atak może zostać przeprowadzony jeszcze przed uruchomieniem jakiegokolwiek kodu aplikacji.

Jak działają podatności?

CVE-2026-109618 – korupcja pamięci przy braku pamięci (OOM)
Gdy PHP wyczerpie dostępną pamięć w trakcie przetwarzania żądania (np. przy przesyłaniu dużego pliku multipart), przerywa pracę i przechodzi do czyszczenia. W pewnych warunkach struktury danych są tylko częściowo zainicjalizowane. Procedura czyszczenia traktuje je jednak jako poprawne, co prowadzi do korupcji pamięci i możliwości wykonania dowolnego kodu.

CVE-2026-109619 – „stale global state” (use-after-free)
Stan wewnętrzny jednego żądania może przetrwać po zwolnieniu pamięci. Kolejne żądanie obsługiwane przez tego samego workera korzysta z tego nieaktualnego stanu, zanim PHP zdąży go zresetować. Jedną ze ścieżek ataku jest domyślnie włączona funkcja session.upload_progress.

Oba błędy istnieją w samym silniku PHP, więc nawet w pełni zaktualizowana aplikacja (WordPress, Joomla, Drupal, Laravel itd.) pozostaje podatna, jeśli działa na niezaktualizowanej wersji PHP.

Jakie niesie zagrożenia?

  • Pełne przejęcie serwera (wykonanie kodu z uprawnieniami procesu PHP)
  • Kradzież haseł, tokenów, kluczy API i certyfikatów z pamięci procesu
  • Instalacja backdoorów, ransomware, kryptominerów
  • Ataki na inne usługi działające na tym samym serwerze
  • Masowe skanowanie i eksploatacja – już obserwowane w sieci (m.in. przez Amazon Threat Intelligence)

Ponieważ PHP napędza większość stron internetowych na świecie, skala potencjalnego zagrożenia jest ogromna.

Które wersje są podatne i jak je naprawić?

Gałąź PHPPodatne wersjeNaprawiona wersja
PHP 8.5 przed 8.5.12 8.5.12
PHP 8.4 przed 8.4.27 8.4.27
PHP 8.3 przed 8.3.36 8.3.36
PHP 8.2 przed 8.2.35 8.2.35
PHP 8.1 i starsze wszystkie brak oficjalnej łatki (tylko backports źródłowe)
 
 

Jedynym kompletnym rozwiązaniem jest aktualizacja PHP.

Tymczasowe środki zaradcze (jeśli nie możesz od razu zaktualizować)

  1. Wyłącz session.upload_progress.enabled = 0 w php.ini
  2. Na PHP 8.5 ustaw również fatal_error_backtraces = 0
  3. Ustaw pm.max_requests = 1 (PHP-FPM) – ogranicza możliwość wykorzystania stanu między żądaniami
  4. Zrestartuj wszystkie workery PHP (Apache, PHP-FPM itd.)

Pamiętaj: te działania jedynie zmniejszają ryzyko, nie eliminują go całkowicie.

Co zrobić teraz?

  1. Sprawdź wersję PHP: php -v
  2. Zaktualizuj do najnowszej poprawionej wersji w swojej gałęzi
  3. Zrestartuj usługi PHP/Apache/Nginx
  4. Monitoruj logi pod kątem podejrzanych żądań (szczególnie multipart/form-data)
  5. Jeśli korzystasz z hostingu współdzielonego – skontaktuj się z dostawcą i dopytaj o aktualizację

Źródła: oficjalne advisories PHP (GHSA-w8hw-w9fx-j79w, GHSA-6wmf-4rv5-p3rp), CERT-EU, raporty firm bezpieczeństwa (Wiz, JFrog, Amazon).

Aktualizacja PHP powinna być priorytetem numer jeden dla każdego administratora serwerów webowych.

Search