Pe scurt: Dacă pachetul dumneavoastră PHP de pe Debian sau Ubuntu este actualizat împotriva PHP2Shell recunoașteți după nivelul exact al pachetului, nu după versiunea PHP. Ubuntu a publicat pe 21 octombrie 2026 pachete corectate pentru toate versiunile suportate, iar pentru cele mai vechi prin Ubuntu Pro. Debian a corectat php8.2 în bookworm și php8.4 în trixie. Comparați starea instalată cu dpkg --compare-versions și reporniți apoi toate serviciile PHP.
Întrebarea din spatele întrebării
„Este pachetul meu PHP actualizat?” sună ca o întrebare cu da sau nu. În practică, răspunsul depinde de trei lucruri: din ce sursă provine pachetul, ce stare este instalată și dacă această stare rulează efectiv. Acest articol răspunde la primele două puncte pentru pachetele oficiale Debian și Ubuntu. Cum verificați în general versiunea și procesele în funcțiune se află la Verificarea corectă a versiunii PHP și a nivelului de patch.
Am consultat informațiile din anunțurile oficiale de securitate Ubuntu și din Debian Security Tracker pe 25 octombrie 2026. Ambele CVE-uri, CVE-2026-109618 și CVE-2026-109619, sunt listate acolo cu aceleași stări corectate.
Stări corectate ale pachetelor la Ubuntu
Ubuntu a publicat corecțiile în două anunțuri. USN-8948-1 acoperă versiunile actuale, USN-8948-2 pe cele mai vechi, care primesc actualizări de securitate doar prin Ubuntu Pro. La 16.04 și 14.04, Ubuntu menționează suplimentar oferta Legacy Support.
| Versiune Ubuntu | Pachet sursă | Stare corectată |
|---|---|---|
| 26.10 | php8.5 | 8.5.9-0ubuntu2.1 |
| 26.04 LTS | php8.5 | 8.5.4-0ubuntu1.5 |
| 24.04 LTS | php8.3 | 8.3.6-0ubuntu0.24.04.13 |
| 22.04 LTS | php8.1 | 8.1.2-1ubuntu2.28 |
| 20.04 LTS (Ubuntu Pro) | php7.4 | 7.4.3-4ubuntu2.29+esm5 |
| 18.04 LTS (Ubuntu Pro) | php7.2 | 7.2.24-0ubuntu0.18.04.17+esm14 |
Izbitor este că toate stările păstrează versiunea PHP originală. Ubuntu 24.04 rămâne la 8.3.6, deși corecția a fost preluată din 8.3.36. De ce este așa și cum procedați explică articolul De ce php -v afișează același număr. Sunt afectate, printre altele, pachetele binare pentru FPM, CLI, CGI și modulul Apache, de exemplu php8.3-fpm și libapache2-mod-php8.3.
Stări corectate ale pachetelor la Debian
Debian urmează aici o altă cale și livrează noile versiuni upstream. Potrivit Security Tracker, starea arată astfel:
| Versiune Debian | Pachet sursă | Stare anterioară | Stare corectată | Anunț |
|---|---|---|---|---|
| 12 bookworm | php8.2 | 8.2.32-1~deb12u1 | 8.2.35-1~deb12u1 | DLA-4848-1 |
| 13 trixie | php8.4 | 8.4.24-1~deb13u1 | 8.4.27-1~deb13u1 | DSA-6574-1 |
| forky, sid | php8.4 | 8.4.27-1 |
Anunțul pentru bookworm a apărut ca DLA, adică prin Debian LTS. Pentru php8.2 în unstable, tracker-ul nu indica încă, la consultare, o stare corectată. Cine operează sisteme de test pe unstable ar trebui să urmărească acest lucru.
Versiunile Debian mai vechi nu apar la consultare în cele două înregistrări CVE. Dacă un server rulează încă pe o astfel de versiune, de exemplu Debian 11 cu PHP 7.4, nu vă puteți baza pe o actualizare de securitate din arhiva oficială. Atunci rămân trei căi: ridicarea sistemului de operare la o versiune suportată, folosirea unei oferte comerciale pe termen lung, a cărei acoperire pentru PHP2Shell vă lăsați confirmată în scris, sau securizarea serverului cu măsuri provizorii până la migrare și restricționarea accesibilității lui. Pe termen lung, doar prima cale este viabilă.
Cum comparați exact starea instalată
O privire asupra numărului de versiune nu este suficientă, deoarece versiunile Debian sunt sortate după reguli proprii. dpkg --compare-versions compară corect. Comenzile următoare sunt exclusiv de citire; adaptați numele pachetelor și starea țintă la versiunea dumneavoastră.
# Starea instalată și proveniența pachetului
apt policy php8.3-fpm
# Toate pachetele PHP instalate cu versiune
dpkg-query -W -f='${Package}\t${Version}\n' 'php*' 'libapache2-mod-php*' 2>/dev/null
# Comparație exactă cu starea corectată (exemplu Ubuntu 24.04)
v=$(dpkg-query -W -f='${Version}' php8.3-fpm)
dpkg --compare-versions "$v" ge 8.3.6-0ubuntu0.24.04.13 && echo "korrigiert: $v" || echo "PRÜFEN: $v"
În rezultatul apt policy, fiți atenți la linia cu sursa pachetului. Dacă acolo nu apare arhiva de securitate a distribuției dumneavoastră, ci de exemplu packages.sury.org sau un PPA, tabelele de mai sus nu se aplică. Atunci contează starea acelei surse terțe, pe care o tratăm în articolul Depozitul sury.org.
În plus, merită o privire în changelog-ul livrat. Cum găsiți acolo numerele CVE și le consemnați ca dovadă descrie articolul Dovedirea numerelor CVE în changelog-ul pachetului.
Capcane tipice la verificare
Verificat doar un pachet: PHP constă din multe pachete binare. Dacă php8.3-cli este actual, dar php8.3-fpm nu, site-ul rămâne deschis. Verificați toate pachetele unei ramuri, în special FPM, CGI și modulul Apache.
Pachet reținut: Pachetele fixate prin apt-mark hold rămân pe loc la actualizare. apt-mark showhold le afișează.
Ubuntu Pro inactiv: La 20.04 și mai vechi, corecțiile vin doar dacă Ubuntu Pro este configurat. Fără Pro, sistemul rămâne vulnerabil în ciuda rulării actualizării.
Oglindă depășită: Dacă serverul obține pachete printr-o oglindă internă sau un proxy, vede noile actualizări de securitate abia după ce acesta este actualizat. La nevoie, verificați dacă apt update ajunge efectiv la sursa de securitate.
Repornire uitată: Pachetele noi au efect abia după repornirea tuturor serviciilor care au încărcat PHP. needrestart, dacă este instalat, arată serviciile cu cod depășit.
O stare corectată a pachetului dovedește doar că vulnerabilitatea este închisă de acum înainte. Dacă serverul a fost atacat înainte, nu răspunde. Salvați logurile începând cu 20 octombrie.
Cum ajută PHP SOS concret?
- Stabilim pentru fiecare server proveniența tuturor pachetelor PHP și comparăm starea cu anunțurile oficiale.
- Instalăm actualizări, inclusiv prin Ubuntu Pro, și repornim toate serviciile afectate.
- Cu serviciul de patch PHP primiți pentru fiecare server o dovadă cu nivelul pachetului, potrivirea din changelog și ora repornirii.
- Pe sistemele cu surse terțe sau versiuni vechi, clarificăm ce cale duce la o stare dovedit corectată.
Întrebări frecvente
Ce versiune Ubuntu conține corecția PHP2Shell?
Potrivit USN-8948-1, Ubuntu 22.04, 24.04, 26.04 și 26.10 sunt aprovizionate cu actualizări obișnuite. Pentru 14.04, 16.04, 18.04 și 20.04, Ubuntu livrează corecțiile potrivit USN-8948-2 prin Ubuntu Pro.
De ce afișează Ubuntu 24.04 în continuare PHP 8.3.6?
Ubuntu preia corecțiile de securitate ca backport în versiunea existentă. Numărul upstream rămâne 8.3.6, se schimbă doar nivelul pachetului. Potrivit USN-8948-1, starea corectată este 8.3.6-0ubuntu0.24.04.13.
Este Debian 12 bookworm încă aprovizionat?
Da. Potrivit Debian Security Tracker, pentru php8.2 în bookworm există starea corectată 8.2.35-1~deb12u1, anunțată ca DLA-4848-1 în cadrul Debian LTS.
Se aplică și la PHP din depozitul sury?
Nu. Pachetele din surse terțe precum sury.org au propriile versiuni și propriile changelog-uri. Informațiile de la Debian și Ubuntu se aplică doar pachetelor lor oficiale.
Este suficient un apt upgrade?
Instalează pachetele noi, dar procesele PHP-FPM sau Apache în funcțiune păstrează codul vechi în memorie. Abia o repornire a tuturor serviciilor care încarcă PHP face patchul efectiv.