Ataki PHP2Shell przybierają na sile, gdy rekrutacja do botnetu Potassium przypotyka
Najważniejsze informacje
- •Dwie luki w PHP, CVE-2026-109618 i CVE-2026-109619, mają krytyczne oceny ważności 9,2 na 10 i umożliwiają zdalne wykonanie kodu bez uwierzytelnienia, a aktywność ataków rozpoczęła się przed udostępnieniem łatek 21 października.
- •Censys wykrył ponad 41 milionów usług PHP dostępnych z internetu, działających na podatnych wersjach według stanu na 22 października, przy czym zaledwie około 1 miliona instancji korzystało z poprawionego oprogramowania dzień po wydaniu poprawek.
- •Nie potwierdzono żadnych udanych włamań do serwerów, a Sophos wycofał 22 października wcześniejsze oświadczenie, stwierdzając, że zaobserwował jedynie nieudane próby ataków.
- •Złośliwe oprogramowanie Potassium zawiera 24 polecenia flood obejmujące ICMP, TCP, UDP i OpenVPN, a także uśpioną funkcję wyszukiwania Ethereum Name Service, która po aktywowaniu mogłaby utrudnić blokowanie jego serwerów dowodzenia.
- •VulnCheck opracował prywatny exploit omijający ASLR na produkcyjnie skonfigurowanym PHP 8.4.26 oraz wybranych kompilacjach 8.4 i 8.5, podczas gdy wiele publicznie krążących próbek PoC pozostaje niefunkcjonalnych.

Atakujący próbują wcielić podatne serwery PHP do botnetu „Potassium”, wywodzącego się z Mirai i zaprojektowanego do przeprowadzania rozproszonych ataków typu denial-of-service (DDoS) — jak dotąd jednak kampania przypotyka. Kod źródłowy Mirai upubliczniono w 2016 roku, a botnety wywodzące się z tego szczepu napędzały niektóre z największych kampanii DDoS w historii. The Hacker News poinformował 23 października, że nie potwierdzono żadnych udanych włamań do serwerów, mimo że liczba prób ataków sięgnęła setek tysięcy.
Atakowane luki
Kampania koncentruje się na dwóch lukach w PHP, CVE-2026-109618 i CVE-2026-109619, z których obie otrzymały oceny ważności 9,2 na 10 — poziom mieszczący się zdecydowanie w krytycznym zakresie skali CVSS — i obie umożliwiają zdalne wykonanie kodu bez uwierzytelnienia, co oznacza, że atakujący nie potrzebuje żadnych poświadczeń, aby uruchamiać polecenia na podatnym serwerze. PHP wydało łatki 21 października, ale do tego czasu hakerzy zdążyli już rozpocząć ataki na te luki.
Miliony skanowań, zero potwierdzonych włamań
Dane wskazują jednak, jak szeroko atakujący prowadzą rozpoznanie. Imperva odnotowała 482 342 prób żądań w 122 311 sesjach wymierzonych w 21 998 witryn w 103 krajach w ciągu 24 godzin. Tymczasem Censys poinformował o wykryciu ponad 41 milionów usług PHP dostępnych z internetu, działających na podatnych wersjach, przy czym zaledwie około 1 miliona instancji działało na poprawionych wersjach oprogramowania według stanu na 22 października — co oznacza, że zdecydowana większość wystawionych serwerów pozostała bez poprawki przez pełen dzień po ich wydaniu. Liczby odzwierciedlające aktywność skanowania lub skalę ekspozycji nie wystarczają jednak do udowodnienia, że doszło do faktycznego włamania.
Co Sophos zauważył, a następnie wycofał
Arctic Wolf informuje, że próby wykonania poleceń i pobierania złośliwego oprogram przypisano Potassium. Osobna analiza w środowisku sandbox ujawniła inny próbkę, która kontaktowała się z thunder.godofthunder[.]st przez adres IP 134.199.154[.]64 na porcie TCP 50792 i zaatakowała dwa ukraińskie hosty. Pokazało to potencjał złośliwego oprogramowania, ale nie to, że atakujący włamali się do serwerów produkcyjnych. 22 października Sophos wycofało wcześniejsze oświadczenie o sukcesie, informując The Record, że zaobserwowało jedynie nieudane próby ataków.
24 polecenia flood i uśpiony przełącznik ENS
Arctic Wolf ujawnił, że Potassium zawiera 24 polecenia flood obejmujące wszystkie typy ICMP, TCP, UDP i OpenVPN. Zarówno wersja ARM, jak i x86-64 złośliwego oprogramowania zawierają również funkcję wyszukiwania Ethereum Name Service (ENS) — zdecentralizowanego systemu nazw działającego na blockchainie Ethereum, a nie w tradycyjnej hierarchii DNS — jednak w obu przypadkach funkcja ta jest wyłączona. Ethereum i ENS nie zostały naruszone. Gdyby jednak została aktywowana, wyszukiwanie ENS mogłoby utrudnić blokowanie serwerów dowodzenia botnetu przy użyciu konwencjonalnych mechanizmów kontroli DNS i IP.
Bezwartościowe PoC kontra działający prywatny exploit
Wiele publicznych proof-of-concept (PoC) exploitów zawodzi wobec zabezpieczeń środowisk produkcyjnych, w szczególności address space layout randomization (ASLR) — techniki utwardzania, która losowo rozmieszcza kod i dane programu w pamięci, tak aby exploity nie mogły niezawodnie celować w stałe adresy. Spencer McIntyre z VulnCheck określił wiele krążących próbek jako „garbage and nonfunctional” („śmieciowe i niefunkcjonalne”), jak cytuje The Record.
Ta ochrona nie jest jednak niezawodna. VulnCheck opracował prywatny exploit omijający ASLR na produkcyjnie skonfigurowanym PHP 8.4.26, a później rozszerzył wsparcie na wybrane kompilacje 8.4 i 8.5. John Hultquist z Google określił to zagrożenie jako „viable and very serious” („realne i bardzo poważne”), według The Record.
Dlaczego botnet DDoS niepokoji operatorów hostingowych i krypto
Szersze zagrożenie jest już poważne. Cloudflare odnotował 935 ataków DDoS przekraczających 1 terabit na sekundę w pierwszej połowie 2026 roku, zgodnie z raportem o zagrożeniach. Ataki te nie zostały przypisane Potassium, ale ilustrują zakłócenia, przed którymi stoją dostawcy hostingu, operatorzy płatności i platformy kryptowalutowe. Z PHP2Shell nie powiązano żadnych strat finansowych.
Nowe zalecenie PHP i czego się spodziewać
23 października PHP ujawniło kolejny problem, CVE-2026-115560, dotyczący nietypowej konfiguracji aplikacji. Do czasu wydania regularnej poprawki zaleca ustawienie session.upload_progress.enabled=0 —rektywy konfiguracyjnej wyłączającej funkcję postępu wysyłania w PHP, która służy również jako mitygacja dla CVE-2026-109619.
Administratorzy powinni zainstalować PHP 8.5.12, 8.4.27, 8.3.36 lub 8.2.35, ponownie uruchomić procesy robocze, aby działające procesy faktycznie wczytały poprawiony kod, oraz monitorować podejrzane pobierania. CISO Cobalt Andrew Obadiaru ostrzegł, że obecny okres spokoju to „borrowed time” („pożyczony czas”), jak cytuje The Record.