PHP2Shell sunt două vulnerabilități critice în PHP, CVE-2026-109618 și CVE-2026-109619. Un atacator poate executa cod pe server cu o singură cerere, fără autentificare, înainte ca aplicația ta să ruleze. Sunt afectate toate instalările PHP care servesc pagini web. Soluția este actualizarea la PHP 8.5.12, 8.4.27, 8.3.36 sau 8.2.35.
Nu știi ce servere cu PHP ai expuse din internet? Raportul nostru de prospectare extern îți arată serviciile web vizibile din afară. E gratuit și îl facem doar cu acordul tău.
Cere raportul gratuitCe este PHP2Shell
PHP2Shell este numele dat celor două vulnerabilități. Prima ține de felul în care PHP tratează lipsa de memorie. A doua, de date rămase de la o cerere anterioară în același proces. Ambele duc la același rezultat: execuție de cod la distanță, fără cont și fără parolă.
Defectele existau de zeci de ani. Cercetătorii Wiz spun că modelele AI au redus mult efortul necesar pentru a transforma un defect vechi într-un atac funcțional.
Cât de gravă este
- PHP rulează în spatele a 75–80% dintre site-uri, inclusiv WordPress, Joomla și Drupal.
- VirusTotal estimează peste 5,1 milioane de servere PHP expuse în internet.
- Qualys a văzut 167 de milioane de instalări PHP. 71% rulează versiuni care nu mai primesc actualizări, iar în primele 12 ore au fost actualizate doar 199.000.
- Amazon a înregistrat o încercare de atac pe 17 octombrie, iar Cloudflare a observat primele atacuri înainte de publicarea actualizărilor.
- PHP rulează și în echipamente. Pe 21 octombrie, Palo Alto confirma că PAN-OS și Panorama sunt afectate.
Centrul britanic de securitate cibernetică, NCSC, recomandă scoaterea de pe internet a sistemelor care nu pot fi actualizate rapid.
Ce faci în primele 24 de ore
1. Află unde rulează PHP
Fă lista completă: site-ul de prezentare, magazinul online, portalul de clienți, intranetul, aplicațiile interne, echipamentele cu interfață web, cum sunt firewall-urile, NAS-urile sau routerele, și serviciile găzduite la furnizori. Începe cu tot ce e accesibil din internet.
Verifică versiunea folosită de serverul web, din panoul de găzduire sau din managerul de pachete. Comanda php -v poate arăta altă instalare decât cea care servește site-ul.
2. Actualizează
| Ramura PHP | Versiunea reparată |
|---|---|
| 8.5 | 8.5.12 |
| 8.4 | 8.4.27 |
| 8.3 | 8.3.36 |
| 8.2 | 8.2.35 |
| 8.1, 8.0, 7.4 | fără actualizare obișnuită; doar corecturi în cod sursă |
| 7.3 și mai vechi | fără corectură; migrează |
Distribuțiile Linux pot repara pachetul fără să schimbe numărul versiunii. Verifică avizul distribuției tale, nu doar numărul afișat.
3. Cere confirmare de la furnizori
Dacă site-ul e la un furnizor de găzduire, cere-i azi confirmarea scrisă că a actualizat PHP pe serverele tale. La fel pentru aplicațiile SaaS și pentru producătorii de echipamente: urmărește avizele lor și aplică actualizările imediat ce apar.
4. Dacă nu poți actualiza azi
- restrânge accesul public la server sau scoate-l temporar de pe internet;
- pune serverul în spatele unui firewall de aplicații web. Cloudflare a publicat reguli pentru PHP2Shell, disponibile și pe conturile gratuite;
- aplică măsurile temporare din avizul oficial PHP, de exemplu
session.upload_progress.enabled = Offși, în PHP-FPM,pm.max_requests = 1, cu costul de performanță aferent.
Măsurile temporare reduc riscul, dar nu fac sigur un server neactualizat. Actualizarea rămâne obligatorie.
5. Verifică dacă ai fost deja atacat
Atacurile au început înainte de anunț, deci verifică jurnalele de pe 17 octombrie încoace:
- fișiere PHP noi sau modificate în directoarele site-ului;
- conturi noi de administrator în aplicații sau în sistem;
- sarcini programate noi și procese necunoscute;
- conexiuni de ieșire neobișnuite de pe server;
- multe erori de memorie în jurnalele PHP, într-un interval scurt.
Dacă găsești ceva, izolează serverul, păstrează jurnalele și cere ajutorul unei echipe de răspuns la incidente înainte să ștergi ceva.
6. Testează din exterior
După actualizare, verifică din internet ce servicii web mai sunt expuse și ce versiuni raportează. Un server uitat, de la un proiect vechi, e de obicei cel care rămâne neactualizat.
Dacă ești entitate NIS2
Gestionarea vulnerabilităților este o măsură obligatorie în OUG 155/2024, art. 13 lit. e). Dacă PHP2Shell duce la un incident semnificativ, avertizarea timpurie către DNSC se trimite în 24 de ore. Păstrează dovezile: lista serverelor, data actualizării, rezultatul verificărilor. Le vei folosi la autoevaluare și la audit. Detaliile sunt în ghidul despre documentația NIS2 și în cel despre amenzile NIS2.
Cum ajută TRU
Prin PenTest-ul extern lunar verificăm din internet serviciile expuse și versiunile vulnerabile, iar raportul îți arată ce e de remediat, în ordinea priorității. PenTest-ul intern face același lucru în rețeaua companiei, unde stau de obicei serverele uitate. Prețurile pornesc de la 31 € pe IP pe lună, iar raportul de prospectare extern e gratuit.
Surse
CISA · NCSC · Qualys · Help Net Security · BleepingComputer · Wiz. Situația evoluează: verifică și avizul producătorului sau al distribuției tale.