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 →

Cum verificați corect versiunea PHP și starea patchului

Versiunea PHP afișată nu spune singură dacă PHP2Shell este închis. Decisive sunt starea pachetului, backporturile și faptul că noile procese rulează cu adevărat.

Stadiu 5 min de cititPHP2Shell

Pe scurt: Pentru a verifica versiunea PHP, php -v nu este suficient. Trebuie să știți ce versiune PHP folosește de fapt serverul web, dacă pachetul conține corecția, inclusiv ca backport cu număr vechi, și dacă după actualizare toate procesele au fost repornite. PHP2Shell este remediat în 8.5.12, 8.4.27, 8.3.36 și 8.2.35.

De ce numărul versiunii singur nu este suficient

Pentru PHP2Shell există o listă clară de versiuni remediate. În practică, trei situații duc totuși la evaluări greșite:

  • Mai multe instalări: Linia de comandă arată PHP 8.3, dar site-ul rulează printr-un pool cu PHP 8.1.
  • Backporturi: Distribuțiile și furnizorii de hosting aplică uneori corecții în pachete existente. Atunci Plesk, de exemplu, afișează în continuare 8.2.34, deși patchul este aplicat.
  • Procese vechi: Fișierele noi sunt pe disc, dar workerii în execuție provin încă de dinainte.

Pentru conducere și persoanele fără pregătire tehnică ajută o regulă simplă: nu întrebați doar „Ce versiune PHP avem?”, ci „Este PHP2Shell închis pe toate serverele și cum vedem asta?”. Un răspuns solid conține trei dovezi: versiunea sau backportul, starea pachetului și momentul repornirii.

Verificarea tehnică are, de aceea, trei pași: versiune, stare a pachetului, procese în execuție. Comenzile de mai jos sunt strict de citire. Numele pachetelor și ale serviciilor diferă în funcție de distribuție, sursa PHP și interfața de hosting; exemplele pornesc de la PHP 8.3.

Verificarea versiunii PHP în linia de comandă

php -v                                  # versiunea din linia de comandă
ls /etc/php/ 2>/dev/null                # Debian/Ubuntu: ramurile instalate
php-fpm8.3 -v                           # versiunea binarului FPM (numele diferă după distribuție)
php -i | grep -E "^PHP Version|Server API|Loaded Configuration File"

Pe RHEL, AlmaLinux sau Rocky, binarul FPM se numește de obicei php-fpm; la Software Collections sau la surse terțe, alte versiuni se află în căi proprii. Plesk și cPanel vin cu propriile instalări PHP, care există lângă PHP-ul sistemului. Cum procedați acolo descriem pe paginile despre Plesk și cPanel.

Ce versiune PHP folosește un site în contextul web vedeți cel mai fiabil în configurația pool-ului sau a VirtualHost-ului sau în interfața de hosting. O pagină phpinfo o arată de asemenea; creați-o doar scurt, cu protecție la acces și cu un nume aleatoriu, și ștergeți-o imediat după aceea.

La hostingul partajat nu aveți de obicei acces la linia de comandă. Atunci interfața de hosting arată versiunea PHP setată pentru fiecare site. Dacă un backport a fost aplicat și serviciul repornit se vede însă rar acolo. Aici, confirmarea scrisă a furnizorului de hosting este calea fiabilă.

Verificarea stării pachetului și a backporturilor

Starea pachetului arată ce a livrat de fapt distribuția dumneavoastră:

# Debian/Ubuntu
apt policy php8.3-fpm
apt changelog php8.3-fpm | grep -i -E "CVE-2026-109618|CVE-2026-109619"

# RHEL, AlmaLinux, Rocky, Fedora
dnf info php-fpm
rpm -q --changelog php-fpm | grep -i -E "CVE-2026-109618|CVE-2026-109619"

Dacă unul dintre numerele CVE apare în changelog, backportul este inclus în pachetul instalat. Dacă intrarea lipsește, nu este încă o dovadă a unei vulnerabilități: unii întreținători de pachete formulează changelogurile altfel. Atunci comparați versiunea pachetului cu anunțurile de securitate ale distribuției dumneavoastră sau întrebați furnizorul. Un model pentru această cerere găsiți la Cum întrebați furnizorul de hosting despre starea patchului.

Important: verificați fiecare pachet PHP instalat, nu doar primul. Pe serverele cu mai multe ramuri, frecvent una este actualizată și alta nu.

Rulează și noua versiune în mod real?

O actualizare este eficientă abia când toate procesele PHP au fost repornite. Comparați ora de pornire a proceselor în execuție cu momentul actualizării:

ps -o pid,lstart,cmd -C php-fpm8.3      # ora de pornire a proceselor FPM
systemctl status php8.3-fpm             # de când rulează serviciul
needrestart -r l                        # Debian/Ubuntu, dacă este instalat: arată procesele învechite

Dacă ora de pornire este anterioară actualizării, rulează încă procese vechi. La Apache cu mod_php se aplică același lucru proceselor Apache. Cum reporniți curat descrie Cum reporniți PHP-FPM și toți workerii.

Sfat

Consemnați rezultatul în scris: server, versiune PHP, versiunea pachetului, CVE în changelog da sau nu, momentul repornirii. Această notă vă este necesară pentru conducere, asigurător și o verificare ulterioară a urmelor.

Încadrarea rezultatului

Constatare Evaluare
Versiune oficială 8.5.12, 8.4.27, 8.3.36 sau 8.2.35, procese repornite PHP2Shell închis
Număr mai vechi, numere CVE în changelogul pachetului, procese repornite backport aplicat, închis
Număr mai vechi, nicio intrare în changelog, nicio confirmare neclar, de clarificat la furnizor
PHP 8.1 sau mai vechi fără backport confirmat deschis, necesare măsuri provizorii și migrare
Procese mai vechi decât actualizarea repornirea lipsește, vulnerabilitatea rămâne activă

Dacă un server rămâne în starea „neclar”, tratați-l ca pe unul deschis: setați măsuri provizorii și urmăriți clarificarea până când există o dovadă. Prezentarea completă a versiunilor se află la Ce versiuni PHP sunt afectate?.

Cum ajută PHP SOS concret?

Prin serviciul de patch PHP preluăm verificarea și dovada:

  • Găsirea tuturor instalărilor, inclusiv versiunile secundare din panouri de hosting, Software Collections sau containere.
  • Evaluarea stării pachetului: versiune oficială, backport sau deschis, cu dovadă din changelog sau de la furnizor.
  • Controlul repornirii, până când nu mai rulează niciun proces cu cod vechi.
  • Întocmirea unui protocol de verificare, pe care îl puteți folosi intern și față de terți.

Întrebări frecvente

De ce php -v arată altă versiune decât site-ul meu?

Pe multe servere sunt instalate mai multe versiuni PHP. Linia de comandă o folosește pe una dintre ele, serverul web sau un pool FPM pe alta. Verificați, de aceea, versiunea care rulează efectiv în contextul web, de exemplu prin binarul FPM sau prin interfața de hosting.

Cum recunosc un backport?

La pachetele de distribuție, corecția apare adesea în changelogul pachetului, frecvent cu numărul CVE. Pe Debian și Ubuntu ajută apt changelog, pe sistemele de tip RHEL rpm -q --changelog. Dacă intrarea lipsește, clarificați starea la furnizor.

Pot verifica versiunea PHP în meniul clientului de hosting?

Da, majoritatea interfețelor arată versiunea setată pentru fiecare site. Dacă un backport a fost aplicat și serviciul repornit, de regulă nu vedeți acolo. Pentru aceasta, calea fiabilă este o confirmare scrisă din partea furnizorului de hosting.

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