Dabartinė padėtis: PHP2Shell. Du kritiniai PHP pažeidžiamumai (CVSS 9,2) leidžia vykdyti kenkėjišką kodą be prisijungimo. Pataisos nuo 2026-10-21.Ką dabar daryti →

Joomla saugumo spraga PHP2Shell: kaip apsaugoti Joomla svetaines

PHP2Shell paveikia Joomla per serverio PHP. Po pataisos ir paleidimo iš naujo patikrinkite configuration.php, šablonų pakeitimus (overrides), plėtinius ir Super User paskyras.

Būsena 4 min. skaitymoPlatformos

Trumpai: Joomla saugumo spraga, apie kurią dabar kalbama, vadinasi PHP2Shell ir yra serverio PHP, o ne Joomla. Joomla atnaujinimas jos neuždaro. Po PHP pataisos ir paleidimo iš naujo patikrinkite configuration.php, šablonų pakeitimus (overrides), plėtinius ir Super User sąrašą.

Ką PHP2Shell reiškia Joomla

Joomla yra PHP turinio valdymo sistema ir paveldi kiekvieną po ja esančio PHP silpnumą. PHP komandos teigimu, spragos CVE-2026-109618 ir CVE-2026-109619 leidžia vykdyti kenkėjišką kodą be prisijungimo. Paveikti įprasti veikimo būdai: PHP-FPM, Apache su mod_php, php-cgi, FrankenPHP ir LiteSpeed.

Ypač mažesnės asociacijų, amatininkų įmonių ar sąjungų Joomla svetainės dažnai veikia bendrame talpinime ir retai prižiūrimos. Ten PHP atnaujinimas yra talpintojo reikalas. Jūsų užduotis yra pasiteirauti apie būseną ir patikrinti svetainę dėl pėdsakų. Kurios versijos paveiktos, rodo Kurios PHP versijos paveiktos?.

Joomla saugumo spraga: PHP versijos patikra

Administratoriaus srityje Sistema > Sistemos informacija rodo PHP versiją ir svarbiausius PHP nustatymus. Tai versija, su kuria Joomla žiniatinklyje iš tikrųjų veikia. Ištaisytos oficialios (upstream) versijos yra 8.5.12, 8.4.27, 8.3.36 ir 8.2.35. Jei Joomla rodo senesnį numerį, atgalinis perkėlimas (backport) vis tiek gali būti įdiegtas; tai turi patvirtinti jūsų talpintojas.

Bendrame talpinime PHP versiją dažnai galima perjungti talpintojo klientų meniu kiekvienam domenui. Tačiau taip perjungiama tik tarp talpintojo pateikiamų versijų; ar jos pataisytos, sprendžia talpintojas. Perėjimas prie naujesnės pagrindinės versijos vis tiek gali būti prasmingas, jei jūsų Joomla versija ir visi plėtiniai ją palaiko. Prieš tai išbandykite, nes senesni plėtiniai su naujesnėmis PHP versijomis dažnai nutrūksta su klaidų pranešimais.

Joomla pati nurodo minimalius PHP reikalavimus kiekvienai pagrindinei versijai. Kurias PHP versijas palaiko jūsų Joomla versija, pagal sistemos reikalavimus patikrinkite joomla.org. Labai senose Joomla versijose PHP keitimui pirmiausia gali prireikti Joomla atnaujinimo.

Tipinės kenkėjiško kodo slėptuvės Joomla

Vieta Turinys Į ką atkreipti dėmesį
configuration.php Duomenų bazės prieiga, $secret, žurnalų ir laikinųjų failų keliai Keitimo data, įterptas kodas
images/, media/ Paveikslėliai ir medija PHP failai įtartini
tmp/ laikinieji failai, taip pat iš diegimų Svetimų paketų likučiai
templates/<name>/html/ Šablonų pakeitimai su PHP kodu nežinomi ar pakeisti pakeitimai
plugins/system/ Sistemos įskiepiai, įkeliami kiekvieną kartą nežinomi įskiepiai
administrator/logs/ Žurnalai išsaugoti prieš keitimus
.htaccess Peradresavimai, perrašymo taisyklės Peradresavimai tik paieškos sistemoms

Sistemos įskiepiai ypač mėgstami, nes vykdomi kiekvieną kartą atidarant puslapį. Nežinomą įskiepį šiame aplanke visada turėtumėte sugebėti paaiškinti.

Nepavojingos patikros komandinėje eilutėje (Joomla 4 ir naujesnė turi savo konsolę):

# PHP failai medijos ir laikinuose aplankuose
find images media tmp -type f -name "*.php"
# Išvardyti naudotojus ir plėtinius
php cli/joomla.php user:list
php cli/joomla.php extension:list
Svarbu

Jei jūsų Joomla svetainė nukreipia lankytojus iš Google į svetimus puslapius arba Google rodo įspėjimą, serveris labai tikėtinai jau kompromituotas. Tada vien atnaujinimo nepakanka, reikia išvalymo ir vėliau patikros Search Console.

Administratoriaus prieiga ir plėtiniai

Administratoriaus sritis yra adresu /administrator. Patikrinkite naudotojų grupę „Super Users“ dėl nežinomų paskyrų ir buvusių paslaugų teikėjų paskyrų. Įjunkite Joomla turimą dviejų veiksnių prisijungimą ir naudokite asmenines, o ne bendras paskyras.

Plėtinių iš Joomla Extensions Directory ir iš trečiųjų šalių daugelyje svetainių yra daug: formos, galerijos, puslapių konstruktoriai, naujienlaiškiai. Kiekvienas atneša savo PHP kodą ir dažnai savo įkėlimo funkcijas. Plėtiniai, kurių teikėjas nebeteikia atnaujinimų, yra nuolatinė rizika ir apsunkina kiekvieną PHP atnaujinimą. Nenaudojamus pašalinkite visiškai.

Ką gali Joomla atnaujinimas ir ko ne

Joomla atnaujinimas pakeičia branduolio (Core) failus ir uždaro žinomas Joomla spragas. Jis netaiso PHP, neliečia šablonų pakeitimų ir trečiųjų šalių plėtinių ir nepašalina failų, nepriklausančių branduoliui. Duomenų bazės įrašai, pavyzdžiui, nauji Super User, taip pat lieka.

Jei jūsų svetainė jau buvo pakeista, padeda eiga puslapyje Svetainė nulaužta? Nuotolinė skubi pagalba. Užpakalinių durų paieškai verta perskaityti vadovą Kaip atpažinti ir pašalinti webshell.

Jei jūsų Joomla svetainę sukūrė agentūra ar laisvai samdomas specialistas, pasiteiraukite jų, kurie plėtiniai ir šablonai buvo pritaikyti individualiai. Pritaikytų failų negalima tiesiog palyginti su originaliu paketu, juos reikia tikrinti atskirai.

Kaip PHP SOS padeda konkrečiai?

  • Užklausiame PHP būseną pas jūsų talpintoją arba tikriname ją jūsų serveryje, įskaitant paleidimą iš naujo.
  • Prieš bet kokį keitimą išsaugome žurnalus, failus ir duomenų bazę.
  • Palyginame branduolį su originaliu paketu ir tikriname pakeitimus (overrides), sistemos įskiepius, medijos aplankus ir Super User.
  • Radę pėdsakų išvalome svetainę, atnaujiname prieigas ir lydime Google įspėjimų šalinimą.

Dažni klausimai

Ar PHP2Shell paveikia Joomla?

Pati Joomla naujos spragos neturi, tačiau veikia PHP pagrindu. Jei serverio PHP nepataisytas, užpuolikas, PHP komandos teigimu, gali vykdyti kodą be prisijungimo. Joomla atnaujinimas to nekeičia.

Kur Joomla rasti PHP versiją?

Administratoriaus srityje skiltyje Sistema > Sistemos informacija. Ten matote ir PHP nustatymus. Ar įdiegtas atgalinis perkėlimas (backport), iš numerio nematyti; tai turi patvirtinti jūsų talpintojas.

Kodėl šablonų pakeitimai (Template Overrides) yra rizika?

Pakeitimai yra šablono aplanke ir turi PHP kodo, pakeičiančio komponentų bei modulių išvestį. Įterptas kodas ten vos pastebimas, nes atnaujinant Joomla pakeitimai nepakeičiami.

Šaltiniai

Skubus kontaktas

Kiekviena valanda svarbi. Parašykite mums dabar.

Trumpai aprašykite sistemą, PHP versiją ir pastebėjimus. Mes atsakysime, išsiaiškinsime padėtį ir dirbsime nuotoliu, kol incidentas bus užbaigtas ir dokumentuotas.

Skubi pagalba