WordPressi hooldus Häkitud saidi puhastus Turvaplugin Hinnad Blogi
Avaleht / Blogi / Kodulehe turvalisus
oktoober 21, 2026

PHP2Shell: kriitilised PHP turvavead, kontrolli majutajat kohe

WordPressi halduspaneelis on üks turvaprobleem, mida sa ise ära ei paranda. Selle nimi on PHP2Shell. Vead on PHP-s - keeles, mille peal WordPress töötab - mitte mõnes teemas või pluginas. Kui sul on väikeettevõtte koduleht või e-pood, uuri täna välja, kas majutaja on PHP-le turvapaiga paigaldanud ja PHP pärast seda taaskäivitanud.

Uuendus, 22. okt: Wordfence ja Patchstack jagasid uusi üksikasju päris riski kohta. Meie järgpostitus räägib neist ja sellest, mida hooldusklientide saitidelt leidsime.

Siin on teadaolevad faktid, lahtised küsimused ja kiri, mille võid majutajale saata.

Mis PHP2Shelliga juhtus?

PHP2Shell on nimi kahele kriitilisele turvaveale: CVE-2026-109618 ja CVE-2026-109619. Esimene puudutab mälu rikkumist olukorras, kus PHP-l saab mälu otsa. Teise puhul jääb päringute vahele alles vana olek. Mõlema CVSS hinne on 9,2. Mõlemad võivad lasta ründajal serveris koodi käivitada ilma sisse logimata, veebiserveri PHP kasutaja õigustes.

Vead leidsid Calif, Wizi ja OpenAI uurijad. PHP projekt teatas 20. oktoobril, et parandused on tulemas, ning avaldas need 21. oktoobril 2026 kell 13:30 UTC - Eestis oli siis kell 16:30. Parandatud versioonid on PHP 8.5.12, 8.4.27, 8.3.36 ja 8.2.35. Nende versiooniharude varasemad väljalasked on haavatavad.

PHP 8.1 ja vanemad versioonid on ametliku toe lõpus ning PHP projektilt neile uuendust ei tule. Mõni Linuxi distributsioon või pikaajalise toe pakkuja võib paranduse siiski vanemasse paketti lisada. PHP tiim avaldas ka minimaalsed lähtekoodi parandused versioonidele 7.4, 8.0 ja 8.1 neile, kes PHP ise kokku panevad. Tavalise saidiomaniku jaoks on samm lihtsam: koli 8.1 pealt uuemale versioonile või küsi majutajalt kinnitust, et nende vana pakett on parandatud.

CERT-EU teatel liiguvad juba ringi ründekoodi näidised. Cloudflare’i tehnoloogiajuhi sõnul on näha esimesi rünnakuid ja neil on tulemüürireeglid kasutusel, kuid need on ajutine abinõu. Keegi ei tea veel, kui palju saite on pihta saanud. Kindla ohvrite arvuga väiteid ei maksa praegu uskuda.


Miks WordPressi uuendamisest ei piisa?

Wiz näitas, et rünnak toimib enne sisselogimist ka ajakohastel WordPressi, Drupali ja Joomla saitidel. Need olid katses kasutatud saidid, mitte vea põhjus. Probleem asub neist allpool, PHP-s, ning puudutab muu hulgas PHP-FPM-i, Apache mod_php, php-cgi, FrankenPHP ja LiteSpeed’i kaudu töötavaid veebiservereid.

PHP tiimi hinnangul on mod_php risk kõige suurem. Ühes näidatud ründes piisab ühest ilma sisselogimiseta tehtud päringust ja rünnak käivitub enne saidi enda koodi. WordPressi turvaplugin ei jõua seda päringut isegi kontrollida. Plugina või WordPressi uuendus ning muudatus failis wp-config.php PHP viga ei paranda. Majutaja või sinu serveri haldaja peab PHP uuendama ja seejärel taaskäivitama.


Kontrolli oma saiti täna

Alustamiseks pole käsurida vaja. Ava WordPressi halduspaneel ja tee need kolm asja:

  • Mine wp-adminis kohta Tools > Site Health > Info > Server ja leia rida PHP version. Pane seal näidatud versioon kirja.
  • Kui näed versiooni 8.1, 8.0, 7.4 või midagi vanemat, küsi kohe uuendust. Seejärel proovi läbi vormid, ostukorv ja broneerimine. Kui sul on testkeskkond, katseta esmalt seal.
  • Kui versioon on mõne 8.2, 8.3, 8.4 või 8.5 haru varasem väljalase, küsi majutajalt turvapaiga kohta. Ära otsusta ainult halduspaneeli numbri põhjal.

See viimane punkt on tähtis. Majutaja võib kasutada Linuxi paketihaldusest pärit PHP-d, millele on turvaparandus lisatud nii, et WordPressis nähtav versiooninumber ei muutu. Number annab vihje, aga ei tõesta üksi, kas server on kaitstud või mitte. Halduspaneel ei näita ka seda, kas PHP pärast parandust taaskäivitati.


PHP2Shelli kontroll: kuidas teada, kas sinu veebimajutus on turvapaiga saanud

PHP2Shelli kontroll on sinu WordPressi saidi jaoks hea esimene samm. Tasuta veebipõhised kontrollijad teevad avalehele ühe tavalise päringu, vaatavad, mida server enda kohta avaldab, näiteks X-Powered-By päises, ja võrdlevad leitud PHP versiooni esimeste parandatud versioonidega: 8.5.12, 8.4.27, 8.3.36 ja 8.2.35. Nad ei saada serverile ründekoodi. Kui server oma versiooni ei näita, ei saa kontrollija öelda, kas paik on olemas. Ka puhas tulemus ei ole lõplik tõend.

  1. Kontrolli saiti, mis kuulub sulle. Ava WordPressis Tools > Site Health > Info > Server ja vaata, milline PHP versioon sinu saidi veebipäringuid teenindab.
  2. Ära tugine ainult käsule php -v. Terminal võib kasutada teist PHP versiooni kui Apache või PHP-FPM.
  3. Küsi veebimajutajalt, milline PHP pakett sinu saiti teenindab. Kui kõrvuti on paigaldatud mitu versiooni, peab parandus olema igas versioonis, mida mõni sait saab kasutada. Sinu sait peab kasutama parandatud versiooni.
  4. Küsi paketi muudatuste logi, kus on kirjas nii CVE-2026-109618 kui ka CVE-2026-109619. Serverile ligipääsuga inimene saab RPM-põhises süsteemis käivitada käsu rpm -q php-cli --changelog. Linuxi distributsioon võib paranduse lisada nii, et vana versiooninumber jääb alles. Ka suurem number üksi ei tõesta midagi.
  5. Küsi, millal PHP-FPM-i ja Apache tööprotsessid taaskäivitati. Paketi uuendamine ei asenda automaatselt koodi, mis juba mälus töötab.

Hea vastus veebimajutajalt ütleb, milline versioon või pakett parandati, näitab mõlemat CVE kirjet muudatuste logis, annab taaskäivitamise aja ja kinnitab, et sinu saidi PHP on paigatud. PHP2Shell WordPress kontrolliks ei teeks ma töötavas e-poes ründekoodi testi. Selle mahukas päring võib tööprotsessi kokku jooksutada ja päris klientide päringud katkestada.

Mida majutajalt küsida?

Saada täna tugipäring. Jagatud veebimajutuses on serveri parandamine majutaja, mitte sinu töö. Võid selle teksti kopeerida ja oma saidi nime lisada:

„Kas saate kinnitada, et minu WordPressi saiti teenindav PHP on parandatud turvavigade CVE-2026-109618 ja CVE-2026-109619 vastu? Milline parandatud PHP versioon või tagasiportitud pakett on paigaldatud? Millal see paigaldati ja kas PHP taaskäivitati pärast seda? Kui parandus pole veel peal, siis millal see tuleb?”

Hea vastus nimetab versiooni või paketi ning kinnitab taaskäivitamist. „Jälgime turvalisust” ei vasta neile küsimustele. Linuxi distributsioonid said parandused ette, nii et paljud majutajad saavad kiiresti tegutseda. Kui sinu oma ei anna selget vastust ega paranduse kuupäeva, kaaluksin kolimist. Meie Zone’iga WordPressi veebimajutuses on klientide PHP paikamine meie töö - sa ei pea arvama, kes sellega tegeleb.


Kui parandus pole veel saadaval

CERT-EU ja Ühendkuningriigi NCSC soovitavad vea kohe parandada. Kui see pole võimalik, soovitavad nad kaaluda süsteemi väljalülitamist kuni paranduse paigaldamiseni. E-poe jaoks on see valus otsus, eriti kui tellimused tulevad iga päev. Samas teadmata ajaks ootamine pole kaitseplaan. Küsi majutajalt, mida nad saavad kohe teha ja millal päris parandus peale läheb.

PHP tiim kirjeldab ajutisi serveritaseme samme: määra memory_limit=-1 nii, et rakendused ei saaks seda üle kirjutada; hoia post_max_size madalal (8M ilma üleslaadimisteta või 32M koos üleslaadimistega); määra session.upload_progress.enabled=0; taaskäivita kõik tööprotsessid; PHP 8.5 puhul määra ka fatal_error_backtraces=0. Need vähendavad riski, kuid ei tee parandamata serverit turvaliseks. Neid seadeid ei saa ka usaldusväärselt määrata faili .user.ini või käsu ini_set() kaudu. Ära kuluta pärastlõunat plugina otsimisele, mis lubab selle mure ära lahendada.


Jälgi saiti ka pärast paikamist

Turvaparandus sulgeb vea, aga ei eemalda juba paigaldatud tagaukse. Kui su sait oli mõnda aega parandamata, soovitab NCSC otsida sissemurdmise jälgi. Järgmiste nädalate jooksul vaata aeg-ajalt üle:

  • Kas juurde on tulnud tundmatuid administraatoreid või kahtlasi PHP-faile kaustas wp-content/uploads?
  • Kas fail .htaccess on ootamatult muutunud, külastajad suunatakse mujale või Google’is ilmuvad rämpslehed?
  • Kas majutaja saadab kirju teatega „Malware detected”? Ära viska neid niisama kõrvale, vaid kontrolli teadet oma majutuskonto kaudu.

Hoia alles enne 21. oktoobrit tehtud varu koopiad, selle asemel et need kohe värsketega üle kirjutada. Tee ka pahavarakontroll, aga tea, mis võib pahavara skanneril märkamata jääda. Puhas tulemus pole garantii. Kui leiad midagi imelikku, säilita enne failide muutmist varukoopia. Meie juhend WordPressi saidi kordategemiseks pärast sissemurdmist aitab järgmised sammud läbi käia. Kui tahad töö üle anda, saad tellida ka veebilehe puhastamise ja pahavara eemaldamise.


Kes muudatuse teeb?

Jagatud veebimajutuses saad versiooni kontrollida, küsimusi esitada ja saiti jälgida, aga serveri PHP-d ise paikama ei pääse. Kui haldad ise VPS-i, uuenda PHP paketid ja taaskäivita PHP. Kui serverit haldab keegi teine, saada talle ülal olevad küsimused. Kui vastus venib küsi vähemalt konkreetset paigaldamise aega. Ära jää halduspaneeli teadet ootama - ava täna majutaja juures tugipäring ning küsi paketi nime ja PHP taaskäivitamise aega.