Aviz de securitate

Site-ul tău e afectat de PHP2Shell?

PHP2Shell e numele folosit în avizele publice pentru CVE-2026-109618 și CVE-2026-109619, două vulnerabilități critice din PHP prin care un atacator poate rula cod pe server fără să se autentifice. Scrie domeniul: citim versiunea de PHP pe care serverul tău o arată oricărui vizitator și îți spunem dacă e afectată.

Începe gratuit · Ai deja cont? Autentifică-te

  • doar ce vede orice vizitator
  • fără trafic de atac
  • un site gratuit

Avizul pe scurt

  • CVE: CVE-2026-109618 · CVE-2026-109619
  • CVSS 4.0: 9,2 · critic
  • Impact: execuție de cod de la distanță, fără autentificare
  • Versiuni reparate: publicate pe 21 octombrie 2026
  • Exploatare: raportată deja în atacuri reale

Actualizează la cel puțin: 8.2.35, 8.3.36, 8.4.27, 8.5.12

Ce este PHP2Shell

Două vulnerabilități din PHP, publicate împreună: CVE-2026-109618 și CVE-2026-109619. Sunt evaluate la 9,2 în CVSS 4.0, adică critic, și permit execuția de cod de la distanță fără autentificare. PHP a publicat versiunile reparate pe 21 octombrie 2026, iar exploatarea în atacuri reale a fost deja raportată: actualizarea nu așteaptă următoarea fereastră de mentenanță.

Cine e afectat

Orice PHP care servește cereri web, oricum ar fi legat de serverul web. Și conturile de hosting partajat: furnizorul rulează PHP într-unul dintre aceste moduri, iar versiunea o alegi tu sau o actualizează el.

  • mod_php: modulul din Apache
  • PHP-FPM: în spatele nginx, Apache sau Caddy
  • CGI: php-cgi, inclusiv ca FastCGI
  • LiteSpeed: LSAPI, des întâlnit pe hosting
  • FrankenPHP: PHP încorporat în server

Ce versiuni de PHP conțin fixul

RamuraPrima versiune reparată
PHP 8.28.2.35
PHP 8.38.3.36
PHP 8.48.4.27
PHP 8.58.5.12
PHP 8.1 și mai vechinicio versiune oficială cu fixul

Pe fiecare ramură, orice versiune mai veche decât cea din tabel e afectată. PHP 8.1 și versiunile mai vechi nu primesc nicio versiune oficială cu fixul: îl pot aduce doar pachetele distribuțiilor și ale furnizorilor.

Ubuntu, avizul USN-8948-1

Ubuntu păstrează numărul de versiune din PHP și pune fixul în revizia pachetului. Primele revizii reparate:

UbuntuPachetPrima revizie reparată
22.04 LTSphp8.18.1.2-1ubuntu2.28
24.04 LTSphp8.38.3.6-0ubuntu0.24.04.13
26.04 LTSphp8.58.5.4-0ubuntu1.5
26.10php8.58.5.9-0ubuntu2.1

Debian, Red Hat, CloudLinux și furnizorii de hosting pot livra fixul tot sub un număr vechi. Decide avizul lor; verificarea noastră arată aceste versiuni ca „pachet de distribuție, de confirmat”, iar agentul citește pachetul instalat.

Cum actualizezi

  1. Actualizează PHP: Pe un server propriu, instalezi pachetele PHP actualizate din distribuție sau din depozitul din care ai instalat PHP. Pe un cont de hosting, alegi o versiune actualizată din setările PHP ale contului sau îi scrii furnizorului. Pe 8.1 și mai vechi, treci pe o ramură întreținută sau pe un pachet de furnizor care conține fixul.
  2. Repornește PHP: Repornești PHP-FPM sau serverul web, dacă PHP rulează în el (Apache cu mod_php, LiteSpeed). Până atunci, procesele PHP deja pornite rulează în continuare versiunea veche.
  3. Verifică din nou: Rulezi din nou verificarea, în panou. Dacă serverul își ascunde versiunea, agentul confirmă versiunea și pachetul instalate.

Dacă nu poți actualiza azi

Avizele PHP și ale furnizorilor dau aceste setări pentru perioada până la actualizare. Reduc expunerea, nu o elimină, și nu înlocuiesc actualizarea.

  • session.upload_progress.enabled = 0: în php.ini, pentru fiecare versiune de PHP pe care o rulezi
  • memory_limit = -1: setat de administrator, în php.ini sau în pool-ul PHP-FPM
  • post_max_size: coborât la cea mai mică valoare cu care merg site-urile tale
  • fatal_error_backtraces = 0: pe PHP 8.5

Apoi repornește toate procesele PHP: PHP-FPM sau serverul web, dacă PHP rulează în el. Procesele deja pornite nu văd setările noi.

Ce face verificarea și ce nu face

Verificarea vede site-ul cum îl vede un vizitator. De aceea e sigură pe un site în producție și tot de aceea nu poate răspunde mereu.

Ce face

  • Cereri GET obișnuite, ca ale unui browser: pagina de start, cu redirecturile ei în același domeniu.
  • Doar dacă versiunea nu a apărut până atunci, alte două sau trei adrese la care răspunde de obicei PHP, de exemplu /index.php.
  • Citește versiunea de PHP din antete precum X-Powered-By și Server, plus semnele că site-ul rulează PHP.
  • Fiecare cerere ne numește în user agent, deci o găsești ușor în logul de acces.

Ce nu face

  • Fără trafic de atac: fără payload-uri, fără formulare trimise, fără încercări de autentificare.
  • Nu urmează redirecturi spre alt domeniu: îți spune unde trimite site-ul vizitatorii și se oprește.
  • Refuză adresele din rețele private.
  • O versiune ascunsă nu iese niciodată drept reparată.

Răspunsul sigur: agentul

Agentul Valinor rulează chiar pe server și citește versiunea de PHP și pachetul instalate, inclusiv fixurile pe care distribuția le livrează sub un număr vechi. Implicit doar citește.

de la Starter, 4,9 EUR/lună

Nu e o evaluare de vulnerabilități. Pentru ce se poate exploata efectiv: Evaluare de vulnerabilități

Ce înseamnă fiecare rezultat

Afectat

Versiunea pe care o arată serverul e mai veche decât versiunea reparată a ramurii ei. Actualizează și repornește PHP.

Fără fix oficial pe această ramură

PHP 8.1 sau mai vechi: PHP nu publică nicio versiune cu fixul. Treci pe o ramură întreținută sau confirmă că pachetul distribuției îl conține.

Pachet de distribuție, de confirmat

Numărul e mai vechi decât fixul, dar vine dintr-un pachet de distribuție (Debian, Red Hat, CloudLinux și altele) care poate conține fixul sub numărul vechi. Decide avizul furnizorului sau agentul.

Versiune ascunsă

Site-ul rulează PHP, dar nu spune ce versiune. E un rezultat frecvent și nu înseamnă nici afectat, nici reparat: agentul poate spune.

Versiune din afara avizului

O ramură mai nouă sau o versiune de test (RC, dev), pe care avizul nu o acoperă. Nu ghicim.

Site indisponibil

Site-ul nu a răspuns la timp nici pe HTTPS, nici pe HTTP. Verifică dacă domeniul duce la server, apoi încearcă din nou.

Trimite spre alt domeniu

Site-ul redirecționează spre alt domeniu, pe care nu îl urmăm. Verifică acel domeniu.

Niciun semn de PHP

Nimic din răspunsuri nu arată PHP. PHP poate rula totuși pe același server, sub alt nume sau la altă adresă.

Reparat

Versiunea arătată e cea reparată a ramurii ei sau una mai nouă, ori o revizie Ubuntu din USN-8948-1 sau mai nouă.

Gratuit pentru un site, nelimitat pe planurile plătite

Free

Un site. Primul domeniu pe care îl verifici devine site-ul contului, iar reverificările lui sunt incluse.

Planurile plătite

Starter, Plus, Pro, Ultra

Oricâte site-uri. De la Starter poți instala și agentul, care citește versiunea de PHP direct de pe server.

Vezi prețurile

Întrebări despre PHP2Shell și verificare

Verificarea e sigură pe un site în producție?

Da. Trimite câteva cereri GET, aceleași pe care le-ar face un browser, și citește răspunsurile. Fără trafic de atac, fără payload-uri, fără formulare, fără încercări de autentificare. Fiecare cerere ne numește în user agent.

De ce nu se vede versiunea mea de PHP?

Multe servere nu își arată versiunea (expose_php = Off sau un proxy în față). E o igienă bună, dar înseamnă că nimeni nu poate judeca versiunea din exterior, nici noi. O versiune ascunsă nu e o versiune reparată: agentul o citește pe cea instalată.

Distribuția mea arată o versiune mai veche. Sunt afectat?

Nu neapărat. Ubuntu a reparat PHP2Shell în USN-8948-1 sub numerele vechi de versiune, iar verificarea cunoaște acele revizii. Debian, Red Hat, CloudLinux și furnizorii de hosting pot face la fel: decide avizul lor sau agentul, care citește pachetul instalat.

Am actualizat PHP, dar rezultatul e tot „afectat”.

Repornește PHP-FPM sau serverul web, dacă PHP rulează în el: procesele pornite înainte de actualizare rulează versiunea veche până la repornire. Apoi verifică din nou.

Ce site-uri pot verifica?

Orice domeniu public: verificarea vede doar ce vede orice vizitator. Pe planul Free, primul domeniu verificat devine site-ul contului, iar reverificările lui sunt incluse; planurile plătite nu au limită. Adresele din rețele private sunt refuzate.

Setările temporare mă protejează?

Nu complet. Reduc expunerea până programezi actualizarea și se aplică abia după repornirea tuturor proceselor PHP. Fixul e actualizarea.

Află unde stă site-ul tău

Scrie domeniul. Verificarea citește ce arată serverul oricărui vizitator, iar agentul confirmă ce e instalat.

Începe gratuit