Echipa de securitate PHP a lansat patch-uri de urgență pentru două vulnerabilități critice care permit executarea de cod de la distanță, și denumite colectiv PHP2Shell.
Zeci de milioane de site-uri și aplicații sunt afectate la nivel global.
Ambele defecte, identificate ca CVE-2026-109618 și CVE-2026-109619, au aceeași cauză de fond: atunci când PHP întrerupe brusc execuția unei cereri, unele zone de memorie rămân într-o stare invalidă, neinițializate sau indicând spre memorie deja eliberată, iar codul executat ulterior le poate folosi, ceea ce poate duce la execuție de cod la distanță.
CVE-2026-109618 permite execuția de cod de la distanță (RCE) prin coruperea memoriei în timpul gestionării erorilor de tip out-of-memory (OOM), declanșată printr-un lanț de slăbiciuni exploatabil de un atacator neautentificat. Codul rulează cu privilegiile procesului PHP al serverului web.
CVE-2026-109619 este o vulnerabilitate de tip „stale global state” (stare globală reziduală) care poate duce la use-after-free în heap, scurgeri de informații din memorie și, în final, la execuție de cod de la distanță, tot fără autentificare prealabilă.
Ambele vulnerabilități, denumite colectiv PHP2Shell, au un scor de severitate de 9,2. Riscul cel mai ridicat apare în configurațiile Apache cu mod_php, unde atacul poate fi declanșat de o singură cerere, înainte ca aplicația să execute vreo linie de cod, dar sunt afectate și implementările PHP-FPM.
Administratorii sunt îndemnați să actualizeze de urgență la PHP 8.5.12, 8.4.27, 8.3.36 sau 8.2.35, în funcție de ramura folosită.
Echipa PHP precizează că nu există nicio modificare de configurare care să atenueze complet problema. Ramurile ieșite din suport (PHP 8.1 și mai vechi) sunt de asemenea vulnerabile, dar nu vor primi corecții oficiale.
Patch-urile au fost lansate pe 21 octombrie, după ce, cu o zi înainte, PHP a anunțat o actualizare de securitate urgentă și le-au cerut utilizatorilor să se pregătească pentru instalarea ei imediată.
Echipa de securitate PHP a publicat o serie de măsuri de atenuare pentru cei care nu își pot actualiza imediat serverele. Acestea reduc expunerea la anumite căi de atac, dar nu oferă protecție completă împotriva exploatării (detalii în articolul publicat pe site-ul PHP):
- CVE-2026-109618:
- Setați memory_limit=-1, de preferat într-un mod pe care aplicațiile nu îl pot suprascrie, de exemplu prin php_admin_value în configurația pool-ului FPM sau în configurația Apache.
- Setați o valoare redusă pentru post_max_size: 8M pentru aplicațiile care nu necesită încărcarea de fișiere, respectiv 32M dacă încărcările sunt necesare.
- Folosiți o limită la nivel de container sau cgroup ca barieră de disponibilitate, de preferat cu o politică ce oprește doar workerul afectat.
- CVE-2026-109619:
- Setați session.upload_progress.enabled=0 și reporniți toate workerele.
- Pe PHP 8.5, setați fatal_error_backtraces=0 și reporniți toate workerele. Această măsură blochează doar calea de atac confirmată prin backtrace-ul erorilor fatale.
- Eliminați setările invalide sau depreciate aplicate per cerere care generează mesaje de diagnostic înainte de inițializare. Ascunderea acestor mesaje prin error_reporting, display_errors sau operatorul @ nu ajută.
- Corectați erorile fatale și depășirile timpului de execuție care pot fi declanșate de un atacator, inclusiv eșecurile din callback-uri, din procesarea încărcărilor sau importurilor și din etapele de curățare (cleanup).
PHP (Hypertext Preprocessor) este un limbaj open-source pentru dezvoltare web pe partea de server, folosit de aproximativ trei sferturi dintre site-urile al căror limbaj server-side este cunoscut, inclusiv de cele construite pe sisteme de gestionare a conținutului (CMS) precum WordPress, Joomla și Drupal.
Gravitatea situației este amplificată de faptul că PHP este folosit de aproximativ trei sferturi dintre site-urile al căror limbaj server-side este cunoscut, inclusiv de cele construite pe WordPress, Joomla sau Drupal.
Potrivit vizibilității VirusTotal, aproximativ 5,1 milioane de adrese IP expuse online rulează PHP, însă doar circa 1,1 milioane își afișează versiunea, ceea ce face dificilă estimarea exactă a numărului de servere vulnerabile.
Înainte de lansarea patch-urilor, CTO-ul Cloudflare, Dane Knecht, a confirmat că firma observa deja atacuri ce vizau cele două vulnerabilități.
Cloudflare implementase deja un set de reguli WAF pentru a bloca metodele cunoscute de exploatare, însă Knecht a subliniat că aceste măsuri sunt temporare și a îndemnat toți administratorii să instaleze actualizările cât mai repede posibil.
Centrul Național de Securitate Cibernetică din Regatul Unit (NCSC) a avertizat organizațiile britanice să actualizeze imediat sistemele care folosesc PHP sau să le deconecteze până la aplicarea patch-urilor.
Developerul PHP core, Gina Peter Banyard, a avertizat că nicio măsură de mitigare pentru PHP2Shell nu ar putea bloca complet atacurile și că aplicarea patch-urilor oficiale reprezintă singura apărare permanentă.
Versiunile PHP 8.1 și mai vechi nu mai primesc actualizări din partea proiectului PHP, însă echipa de securitate a oferit portări minime ale codului sursă pentru PHP 7.4, 8.0 și 8.1 pentru utilizatorii care compilează din sursă sau nu au acces la un furnizor LTS.
„Unele distribuții și furnizori LTS oferă remedieri retroportate, deci contactați furnizorul pentru detalii sau actualizați la o versiune acceptată”, au precizat dezvoltatorii PHP.






