Pe scurt: Vulnerabilitatea Joomla despre care se vorbește acum se numește PHP2Shell și se află în PHP-ul serverului, nu în Joomla. O actualizare Joomla nu o închide. După patchul PHP și repornire, ar trebui să verificați configuration.php, suprascrierile de șabloane, extensiile și lista Super User.
Ce înseamnă PHP2Shell pentru Joomla
Joomla este un CMS PHP și moștenește orice slăbiciune a PHP-ului de dedesubt. Potrivit echipei PHP, vulnerabilitățile CVE-2026-109618 și CVE-2026-109619 permit execuția de cod malițios fără autentificare. Sunt afectate modurile de operare obișnuite: PHP-FPM, Apache cu mod_php, php-cgi, FrankenPHP și LiteSpeed.
Mai ales site-urile Joomla mai mici ale asociațiilor, ale meseriașilor sau ale uniunilor rulează adesea pe hosting partajat și sunt rar întreținute. Acolo actualizarea PHP revine furnizorului de hosting. Sarcina dumneavoastră este să cereți starea și să verificați site-ul pentru urme. Ce versiuni sunt afectate arată Ce versiuni PHP sunt afectate?.
Vulnerabilitatea Joomla: verificarea versiunii PHP
În zona de administrare, Sistem > Informații sistem arată versiunea PHP și cele mai importante setări PHP. Aceasta este versiunea cu care Joomla rulează efectiv pe web. Versiunile upstream remediate sunt 8.5.12, 8.4.27, 8.3.36 și 8.2.35. Dacă Joomla arată un număr mai vechi, poate fi totuși aplicat un backport; acest lucru trebuie confirmat de furnizorul dumneavoastră de hosting.
La hostingul partajat, versiunea PHP poate fi adesea schimbată din meniul clientului furnizorului, pentru fiecare domeniu. Aceasta comută însă doar între versiunile pe care le pune la dispoziție furnizorul; dacă acestea au patchul aplicat hotărăște furnizorul. O trecere la o versiune majoră mai nouă poate fi totuși utilă, dacă versiunea dumneavoastră de Joomla și toate extensiile o acceptă. Testați mai întâi, deoarece extensiile mai vechi se opresc adesea cu mesaje de eroare la versiuni PHP mai noi.
Joomla însuși indică cerințe minime pentru PHP, pe fiecare versiune majoră. Ce versiuni PHP sunt acceptate de versiunea dumneavoastră de Joomla verificați conform cerințelor de sistem de pe joomla.org. La versiunile Joomla foarte vechi, o schimbare PHP poate necesita mai întâi un upgrade Joomla.
Ascunzători tipice pentru codul malițios în Joomla
| Loc | Conținut | La ce să fiți atenți |
|---|---|---|
configuration.php |
Accesul la baza de date, $secret, căi pentru jurnale și temp |
Data modificării, cod strecurat |
images/, media/ |
Imagini și media | Fișierele PHP sunt suspecte |
tmp/ |
Fișiere temporare, inclusiv de la instalări | Resturi de pachete străine |
templates/<name>/html/ |
Suprascrieri de șabloane cu cod PHP | Suprascrieri necunoscute sau modificate |
plugins/system/ |
Plugin-uri de sistem care se încarcă la fiecare accesare | Plugin-uri necunoscute |
administrator/logs/ |
Jurnale | Salvați înainte de modificări |
.htaccess |
Redirecționări, reguli de rescriere | Redirecționări doar pentru motoarele de căutare |
Plugin-urile de sistem sunt deosebit de apreciate, deoarece se execută la fiecare accesare a paginii. Ar trebui să puteți explica întotdeauna un plugin necunoscut din acest director.
Verificări inofensive în linia de comandă (Joomla 4 și mai nou vine cu o consolă proprie):
# Fișiere PHP în directoarele media și temporare
find images media tmp -type f -name "*.php"
# Listarea utilizatorilor și a extensiilor
php cli/joomla.php user:list
php cli/joomla.php extension:list
Dacă site-ul dumneavoastră Joomla redirecționează vizitatorii de la Google către pagini străine sau dacă Google afișează o avertizare, serverul este foarte probabil deja compromis. Atunci nu este suficientă o actualizare, ci este nevoie de o curățare și apoi de o verificare în Search Console.
Accesul de administrator și extensiile
Zona de administrare se află la /administrator. Verificați grupul de utilizatori „Super Users” pentru conturi necunoscute și pentru conturi ale unor foști prestatori. Activați autentificarea în doi pași, pe care o aduce Joomla, și folosiți conturi personale în loc de conturi partajate.
Extensiile din Joomla Extensions Directory și de la terți sunt numeroase la multe site-uri: formulare, galerii, constructori de pagini, newslettere. Fiecare aduce cod PHP propriu și adesea funcții proprii de upload. Extensiile al căror furnizor nu mai livrează actualizări sunt un risc permanent și îngreunează orice upgrade PHP. Dezinstalați complet ceea ce nu folosiți.
Ce poate și ce nu poate o actualizare Joomla
O actualizare Joomla înlocuiește fișierele nucleului și închide vulnerabilitățile cunoscute din Joomla. Ea nu aplică patchul PHP, nu atinge suprascrierile de șabloane și extensiile terților și nu elimină fișiere care nu aparțin nucleului. Și intrările din baza de date, precum noii Super User, rămân.
Dacă site-ul dumneavoastră a fost deja modificat, vă ajută procedura de la Site compromis? Asistență de urgență la distanță. Pentru căutarea ușilor dosnice merită ghidul Recunoașterea și eliminarea webshell-urilor.
Dacă site-ul dumneavoastră Joomla a fost configurat de o agenție sau de un freelancer, întrebați acolo ce extensii și șabloane au fost adaptate individual. Fișierele adaptate nu pot fi pur și simplu comparate cu pachetul original și necesită o verificare individuală.
Cum ajută PHP SOS concret?
- Cerem starea PHP de la furnizorul dumneavoastră de hosting sau o verificăm pe serverul dumneavoastră, inclusiv repornirea.
- Salvăm jurnalele, fișierele și baza de date înainte de orice modificare.
- Comparăm nucleul cu pachetul original și verificăm suprascrierile, plugin-urile de sistem, directoarele media și Super User.
- În caz de descoperiri, curățăm site-ul, reînnoim accesurile și însoțim eliminarea avertizărilor Google.
Întrebări frecvente
Este Joomla afectat de PHP2Shell?
Joomla însuși nu are o vulnerabilitate nouă, dar rulează pe PHP. Dacă PHP-ul serverului nu are patchul aplicat, un atacator poate, potrivit echipei PHP, să execute cod fără autentificare. O actualizare Joomla nu schimbă nimic în această privință.
Unde găsesc versiunea PHP în Joomla?
În zona de administrare, la Sistem > Informații sistem. Acolo vedeți și setările PHP. Dacă un backport este aplicat nu recunoașteți după număr; acest lucru trebuie confirmat de furnizorul dumneavoastră de hosting.
De ce sunt suprascrierile de șabloane (template overrides) un risc?
Suprascrierile se află în directorul șablonului și conțin cod PHP care înlocuiește afișarea componentelor și a modulelor. Codul strecurat acolo se observă greu, deoarece suprascrierile nu sunt înlocuite la actualizările Joomla.