Praegune olukord: PHP2Shell. Kaks kriitilist PHP turvaauku (CVSS 9,2) lubavad kahjulikku koodi ilma sisselogimata. Paigad alates 21.10.2026.Mida nüüd teha →

PHP versiooni ja paigatud seisu õige kontroll

Kuvatav PHP versioon üksi ei ütle, kas PHP2Shell on suletud. Otsustavad on paketi seis, tagasiportimised ja see, kas uued protsessid tegelikult töötavad.

Seis Lugemisaeg 4 minPHP2Shell

Lühidalt: PHP versiooni kontrollimiseks ei piisa käsust php -v. Peate teadma, millist PHP versiooni veebiserver tegelikult kasutab, kas pakett sisaldab parandust, ka tagasiportimisena vana numbriga, ja kas pärast uuendust on kõik protsessid uuesti käivitatud. PHP2Shell on parandatud versioonides 8.5.12, 8.4.27, 8.3.36 ja 8.2.35.

Miks versiooninumbrist üksi ei piisa

PHP2Shelli puhul on olemas selge parandatud versioonide loend. Praktikas viivad siiski kolm olukorda valehinnanguteni:

  • Mitu paigaldust: Käsurida näitab PHP 8.3, kuid veebisait töötab poolis PHP 8.1-ga.
  • Tagasiportimised (backport): Distributsioonid ja veebimajutajad paigaldavad parandusi osaliselt olemasolevatesse pakettidesse. Siis näitab näiteks Plesk edasi 8.2.34, kuigi on paigatud.
  • Vanad protsessid: Uued failid asuvad kettal, kuid töötavad tööprotsessid pärinevad veel varasemast ajast.

Juhtkonnale ja mittetehnikutele aitab lihtne rusikareegel: ärge küsige ainult „Millist PHP versiooni meil on?“, vaid „Kas PHP2Shell on kõigis serverites suletud ja millest me seda näeme?“. Töökindel vastus sisaldab kolme tõendit: versioon või tagasiportimine, paketi seis ja taaskäivituse ajahetk.

Tehniline kontroll koosneb seetõttu kolmest sammust: versioon, paketi seis, töötavad protsessid. Allpool olevad käsud on puhtalt lugevad. Paketi- ja teenusenimed erinevad distributsiooniti, PHP allika ja majutusliidese kaupa; näited lähtuvad PHP 8.3-st.

PHP versiooni kontroll käsureal

php -v                                  # käsurea versioon
ls /etc/php/ 2>/dev/null                # Debian/Ubuntu: paigaldatud harud
php-fpm8.3 -v                           # FPM-i binaarfaili versioon (nimi sõltub distributsioonist)
php -i | grep -E "^PHP Version|Server API|Loaded Configuration File"

RHEL-is, AlmaLinuxis või Rockys on FPM-i binaarfaili nimi tavaliselt php-fpm; Software Collections'i või kolmandate allikate puhul asuvad lisaversioonid oma teedel. Plesk ja cPanel toovad kaasa oma PHP paigaldused, mis eksisteerivad süsteemse PHP kõrval. Kuidas seal toimida, kirjeldame lehtedel Plesk ja cPanel.

Millist PHP versiooni veebisait veebikontekstis kasutab, näete töökindlamalt poolide või VirtualHosti seadistusest või majutusliidesest. Seda näitab ka phpinfo-leht; looge see vaid lühikeseks ajaks, ligipääsukaitsega ja juhusliku nimega ning kustutage kohe pärast.

Jagatud veebimajutuse puhul pole teil tavaliselt ligipääsu käsureale. Siis näitab majutusliides veebisaidi kohta seadistatud PHP versiooni. Kas tagasiportimine on paigaldatud ja uuesti käivitatud, seal harva kirjas on. Siin on töökindel tee veebimajutaja kirjalik kinnitus.

Paketi seis ja tagasiportimised

Paketi seis näitab, mida teie distributsioon tegelikult tarnis:

# Debian/Ubuntu
apt policy php8.3-fpm
apt changelog php8.3-fpm | grep -i -E "CVE-2026-109618|CVE-2026-109619"

# RHEL, AlmaLinux, Rocky, Fedora
dnf info php-fpm
rpm -q --changelog php-fpm | grep -i -E "CVE-2026-109618|CVE-2026-109619"

Kui muudatuslogis on üks CVE-numbritest, sisaldub tagasiportimine paigaldatud paketis. Kui kirje puudub, ei ole see veel turvaaugu tõend: mõned paketihooldajad koostavad muudatuslogisid teisiti. Siis võrrelge paketi versiooni oma distributsiooni turvateadetega või küsige pakkujalt. Selle päringu näidise leiate lehelt Nii küsite veebimajutajalt paikamise seisu.

Oluline: kontrollige iga paigaldatud PHP paketti, mitte ainult esimest. Mitme haruga serverites on sageli üks paigatud ja teine mitte.

Kas uus versioon ka tegelikult töötab?

Uuendus on mõjus alles siis, kui kõik PHP protsessid on uuesti käivitatud. Võrrelge töötavate protsesside algusaega uuenduse ajahetkega:

ps -o pid,lstart,cmd -C php-fpm8.3      # FPM-i protsesside algusaeg
systemctl status php8.3-fpm             # alates millal teenus töötab
needrestart -r l                        # Debian/Ubuntu, kui paigaldatud: näitab aegunud protsesse

Kui algusaeg on enne uuendust, töötavad veel vanad protsessid. Apache'i ja mod_php puhul kehtib sama Apache'i protsesside kohta. Kuidas korrektselt uuesti käivitada, kirjeldab PHP-FPM-i ja kõigi tööprotsesside taaskäivitus.

Näpunäide

Fikseerige tulemus kirjalikult: server, PHP versioon, paketi versioon, CVE muudatuslogis jah või ei, taaskäivituse ajahetk. Seda märget vajate juhtkonnale, kindlustajale ja hilisemaks jälgede kontrolliks.

Tulemuse hindamine

Leid Hinnang
Ametlik versioon 8.5.12, 8.4.27, 8.3.36 või 8.2.35, protsessid uuesti käivitatud PHP2Shell suletud
Vanem number, CVE-numbrid paketi muudatuslogis, protsessid uuesti käivitatud tagasiportimine paigaldatud, suletud
Vanem number, muudatuslogis kirjet pole, kinnitust pole ebaselge, selgitage pakkujaga
PHP 8.1 või vanem ilma kinnitatud tagasiportimiseta lahti, vajalikud ajutised meetmed ja migratsioon
Protsessid vanemad kui uuendus taaskäivitus puudub, turvaauk on endiselt aktiivne

Kui server jääb seisu „ebaselge“, käsitlege seda nagu avatut: rakendage ajutised meetmed ja hoidke selgitamine käigus, kuni on olemas tõend. Täieliku versiooniülevaate leiate lehelt Millised PHP versioonid on mõjutatud?.

Kuidas PHP SOS konkreetselt aitab?

PHP paikamisteenusega võtame enda peale kontrolli ja tõendi:

  • Leida kõik paigaldused, ka teisesed versioonid majutuspaneelidest, Software Collections'ist või konteineritest.
  • Hinnata paketi seisu: ametlik väljalase, tagasiportimine või lahti, tõendiga muudatuslogist või pakkujalt.
  • Kontrollida taaskäivitust, kuni ükski protsess vana koodiga enam ei tööta.
  • Koostada kontrollprotokoll, mida saate kasutada sisemiselt ja kolmandate suhtes.

Korduma kippuvad küsimused

Miks näitab php -v teist versiooni kui minu veebisait?

Paljudes serverites on paigaldatud mitu PHP versiooni. Käsurida kasutab ühte neist, veebiserver või FPM-i pool teist. Kontrollige seetõttu versiooni, mis tegelikult töötab veebikontekstis, näiteks FPM-i binaarfaili või majutusliidese kaudu.

Kuidas ma tagasiportimist ära tunnen?

Distributsioonide pakettide puhul on parandus sageli paketi muudatuslogis, tihti CVE-numbriga. Debianis ja Ubuntus aitab apt changelog, RHEL-laadsetes süsteemides rpm -q --changelog. Kui kirjet pole, selgitage seis välja pakkujalt.

Kas ma saan PHP versiooni kontrollida veebimajutuse kliendimenüüs?

Jah, enamik liideseid näitab veebisaidi kohta seadistatud versiooni. Kas tagasiportimine on paigaldatud ja uuesti käivitatud, seda sealt tavaliselt ei näe. Selleks on töökindel tee veebimajutaja kirjalik kinnitus.

Allikad

Kohene kontakt

Iga tund loeb. Kirjutage meile kohe.

Kirjeldage lühidalt süsteemi, PHP versiooni ja tähelepanekut. Võtame teiega ühendust, selgitame olukorra välja ja töötame kaugtööna, kuni intsident on lõpetatud ja dokumenteeritud.

Kohene abi