Situația actuală: PHP2Shell. Două vulnerabilități critice PHP (CVSS 9.2) permit cod malițios fără autentificare. Patchuri din 21.10.2026.Ce este de făcut acum →

CVE-2026-109619: RCE prin stare globală învechită

CVE-2026-109619 este a doua vulnerabilitate PHP2Shell: starea internă a unei cereri poate persista după eliberarea memoriei și poate fi folosită de următoarea cerere din același worker.

Stadiu 4 min de cititPHP2Shell

Pe scurt: CVE-2026-109619 este a doua vulnerabilitate din spatele PHP2Shell. Starea internă care aparține unei cereri poate persista după eliberarea memoriei; o cerere ulterioară din același worker o poate folosi înainte de a fi resetată. Consecința este execuția de cod fără autentificare. Remediul: actualizarea la PHP 8.5.12, 8.4.27, 8.3.36 sau 8.2.35 și repornirea tuturor workerilor.

Ce este CVE-2026-109619?

CVE-2026-109619 (identificator GitHub GHSA-6wmf-4rv5-p3rp) este evaluată cu CVSS v4.0 9.2. Împreună cu CVE-2026-109618 formează PHP2Shell. Ambele vulnerabilități se află în PHP însuși și nu într-o aplicație.

Efectul este același ca la vulnerabilitatea soră: un atacator poate executa cod pe server de la distanță, fără parolă și fără cont de utilizator. Cauza este însă alta.

De ce este periculoasă starea învechită din worker

Un server web PHP nu pornește un proces nou pentru fiecare cerere. La PHP-FPM, Apache cu mod_php, LiteSpeed sau FrankenPHP, un worker procesează una după alta multe cereri. Între două cereri, PHP își resetează starea internă, pentru ca nimic din cererea A să nu ajungă în cererea B.

La CVE-2026-109619, această resetare nu reușește complet. Potrivit php.net, starea internă aparținând cererii poate persista după eliberarea memoriei. O cerere ulterioară din același worker poate folosi această stare învechită înainte de a fi resetată. Simplificat: ceva este reutilizat care, de fapt, nu mai este valid.

Din punctul de vedere al exploatării, acest lucru este remarcabil. Reutilizarea workerilor este intenționată, pentru că face serverele web rapide: un worker nu trebuie repornit pentru fiecare cerere, să încarce extensii și să aloce memorie. Vulnerabilitatea lovește, așadar, o caracteristică pe care o are practic orice instalare PHP de producție. php.net nu menționează nicio configurație care să evite complet problema; de aceea calea trece prin actualizare.

Detalii despre exploatare nu publicăm. Pentru operatori contează următorul lucru: orice mod de operare în care workerii deservesc mai multe cereri trebuie ținut sub observație, iar tocmai acestea sunt modurile obișnuite.

Cele două vulnerabilități PHP2Shell, comparate

Caracteristică CVE-2026-109618 CVE-2026-109619
Identificator GitHub GHSA-w8hw-w9fx-j79w GHSA-6wmf-4rv5-p3rp
Evaluare CVSS v4.0 9.2 CVSS v4.0 9.2
Declanșator Out-of-Memory în timpul inițializării datelor cererii Starea internă persistă după eliberare
Efect execuție de cod fără autentificare execuție de cod fără autentificare
Remediat în 8.5.12, 8.4.27, 8.3.36, 8.2.35 8.5.12, 8.4.27, 8.3.36, 8.2.35

Sunt afectate PHP-FPM, Apache cu mod_php, php-cgi, FrankenPHP și LiteSpeed. Cel mai mare risc îl vede echipa PHP la mod_php; de ce, explicăm la De ce mod_php prezintă cel mai mare risc.

Închiderea CVE-2026-109619: actualizare, apoi repornirea tuturor workerilor

Tocmai la această vulnerabilitate repornirea este decisivă. Cât timp workerii vechi rulează în memorie, serverul lucrează mai departe cu codul defectuos, chiar dacă fișierele noi sunt de mult pe disc.

Verificați versiunea și starea pachetului. Numele pachetelor diferă în funcție de distribuție și de interfața furnizorului de hosting:

php -v
php-fpm8.3 -v                  # binarul FPM poate avea altă versiune decât CLI
apt policy php8.3-fpm          # Debian/Ubuntu
dnf info php-fpm               # familia RHEL
rpm -q --changelog php-fpm | grep -i "CVE-2026-109619"

Apoi reporniți toate serviciile afectate:

sudo systemctl restart php8.3-fpm     # pentru fiecare versiune PHP instalată
sudo systemctl restart apache2        # la mod_php; pe RHEL serviciul se numește httpd

Dacă distribuția sau furnizorul dumneavoastră de hosting aplică un backport, numărul de versiune afișat poate rămâne același. Atunci contează changelogul pachetului și confirmarea scrisă a furnizorului. O verificare pas cu pas găsiți la Cum reporniți PHP-FPM și toți workerii.

Sfat

Notați data și ora repornirii. Pentru evaluarea ulterioară, dacă un atac a avut loc înainte sau după patch, acest moment este cel mai important punct de referință.

Ce mai rămâne de făcut după patch

Un patch nu dovedește că înainte nu s-a întâmplat nimic. Potrivit rapoartelor din presă, o primă tentativă de atac a fost observată la 17 octombrie, cu patru zile înainte de patchuri. Păstrați logurile serverului începând cu 20 octombrie, așa cum recomandă presa de specialitate, și verificați serverul pentru anomalii. Indicații oferă pagina Am fost deja compromis?.

Gândiți-vă la amploare: la o execuție reușită de cod, atacatorul are drepturile procesului PHP. Poate citi ce are voie să citească aplicația, de exemplu fișiere de configurare cu date de acces la baze de date sau chei API. Dacă un incident se confirmă, aceste date de acces trebuie reînnoite după curățare.

Cum ajută PHP SOS concret?

Prin serviciul de patch PHP aplicăm corecția într-un mod ușor de urmărit:

  • Inventariere: ce versiuni și moduri de operare PHP rulează pe ce server și ce sursă de pachete le livrează?
  • Patch: actualizare din sursa corectă sau măsuri provizorii conform php.net, acolo unde actualizarea este încă blocată.
  • Controlul repornirii: verificăm proces cu proces că rulează doar versiunea corectată.
  • Documentare: versiuni, stări ale pachetelor și momente ale repornirii, pentru ca să puteți dovedi starea.

Întrebări frecvente

Prin ce se deosebește CVE-2026-109619 de CVE-2026-109618?

CVE-2026-109618 apare când o stare Out-of-Memory întrerupe cererea în mijlocul inițializării. CVE-2026-109619 privește starea care rămâne în worker după încheierea unei cereri. Ambele duc la execuție de cod fără autentificare și sunt remediate în aceleași versiuni PHP.

Ajută dacă repornesc workerii PHP-FPM mai des?

Ca înlocuitor al actualizării nu este potrivit. php.net nu menționează repornirile mai dese ale workerilor ca măsură provizorie. Workerii trebuie totuși reporniți după actualizare, pentru ca versiunea corectată să ruleze efectiv.

Sunt protejat împotriva CVE-2026-109619 printr-o actualizare CMS?

Nu. Vulnerabilitatea se află în PHP și nu în WordPress, Shopware, TYPO3 sau alt sistem. Doar o actualizare PHP sau un backport confirmat de furnizor o închide.

Există urme cunoscute ale unui atac prin CVE-2026-109619?

Indicators of Compromise confirmați nu au fost publicați până acum. Detecția se bazează pe analiza comportamentului, de exemplu fișiere PHP noi, conexiuni neobișnuite spre exterior sau cronjoburi necunoscute.

Surse

Contact imediat

Fiecare oră contează. Scrieți-ne acum.

Descrieți pe scurt sistemul, versiunea PHP și ce ați observat. Ne vom face auziți, clarificăm situația și lucrăm la distanță până când incidentul este încheiat și documentat.

Ajutor imediat