Aktuālā situācija: PHP2Shell. Divas kritiskas PHP ievainojamības (CVSS 9.2) ļauj izpildīt ļaunprātīgu kodu bez pieteikšanās. Ielāpi kopš 21.10.2026.Kas jādara tagad →

cPanel un WHM: PHP aizsardzība

cPanel PHP pārvalda ar EasyApache 4 un atsevišķām pakotnēm katrai versijai. Šeit uzzināsiet, kā pārbaudīt stāvokli, pārstartēt visus procesus un pareizi iestatīt pagaidu vērtības.

Aktuāls uz 4 min lasīšanas laiksServeri un hostings

Īsi: cPanel PHP atjaunināšana pēc PHP2Shell ietver trīs soļus: visas ea-php un, ja nepieciešams, alt-php pakotnes novest labotā stāvoklī, pilnībā pārstartēt PHP-FPM un Apache un dokumentēt pakotņu stāvokli. Servera klienti svarīgākās pagaidu vērtības paši iestatīt nevar, to jāizdara WHM administratoram.

Sākotnējā situācija cPanel serveros

PHP2Shell ietver ievainojamības CVE-2026-109618 un CVE-2026-109619 pašā PHP. Abas ļauj izpildīt ļaunprātīgu kodu bez autentifikācijas, un tās novērtētas ar CVSS v4.0 9.2. Skarti ir PHP-FPM, Apache ar mod_php, php-cgi, FrankenPHP un LiteSpeed. PHP projekts 2026. gada 21. oktobrī publicēja versijas 8.5.12, 8.4.27, 8.3.36 un 8.2.35.

cPanel PHP nepiegādā kā vienu pakotni, bet ar EasyApache 4, katrai versijai atsevišķu pakotņu komplektu, piemēram, ea-php83 vai ea-php84. Dažos serveros klāt nāk operētājsistēmas pakotnes, bet CloudLinux serveros alt-php versijas. Katram avotam ir savs stāvoklis. Pilnīgu ainu iegūsiet tikai tad, ja pārbaudīsiet visus trīs.

cPanel PHP atjaunināšana: pārbaudiet esošo un piesaisti

Sāciet ar inventarizāciju. Turpmākās komandas tikai lasa un neko nemaina. Ceļi un pakotņu nosaukumi ir piemēri un var atšķirties atkarībā no instalācijas.

# Instalētās PHP versijas pēc WHM API
whmapi1 php_get_installed_versions

# Katras ea-php instalācijas versija
for p in /opt/cpanel/ea-php*/root/usr/bin/php; do echo "$p"; "$p" -v | head -1; done

# Pakotņu stāvoklis (RPM balstītas sistēmas, piemērs)
rpm -qa | grep -E '^ea-php[0-9]+-php-(cli|fpm|common)' | sort

MultiPHP Manager redzams, kurš domēns izmanto kuru versiju un vai PHP-FPM ir aktivizēts. Pierakstiet versijas, kas ir instalētas, bet nav piešķirtas nevienam domēnam. Arī tās jāatjaunina vai jānoņem.

Pareizi vērtēt backportus

Tāpat kā pie citiem sniedzējiem: parādītais versijas numurs nav vienīgais mērauklas. Ja labojums tiek piegādāts kā backports, numurs var palikt nemainīts. Tāpēc papildus pārbaudiet pakotnes izmaiņu žurnālu un sniedzēja norādes.

# Pakotnes izmaiņu žurnālā meklēt CVE numurus (piemērs)
rpm -q --changelog ea-php84-php-cli | grep -iE 'CVE-2026-1096(18|19)'

Ja ieraksta nav, tas automātiski nenozīmē, ka labojuma nav. Taču tas nozīmē, ka pirms servera atzīšanas par ielāpotu jums vajadzīgs rakstisks apstiprinājums. Kā pareizi nolasīt versijas, aprakstīts lapā PHP versijas un ielāpa stāvokļa pārbaude.

Atjauninājums, pārstartēšana un kontrole

Atjauninājumu ieinstalējat WHM sistēmas atjaunināšanā vai ar pakotņu pārvaldību. Pēc tam pārstartējiet visus PHP procesus. Ar jauniem failiem vien nepietiek, kamēr atmiņā darbojas veci procesi.

# Pārstartēt visu versiju PHP-FPM pakalpojumus (cPanel skripts)
/scripts/restartsrv_apache_php_fpm

# Pilnībā pārstartēt Apache
/scripts/restartsrv_httpd

# Pārbaudīt PHP procesu startēšanas laiku
ps -eo pid,lstart,cmd | grep -E 'php-fpm|lsphp|php-cgi' | grep -v grep

Katra PHP procesa startēšanas laikam jābūt pēc atjauninājuma. Ja tā nav, pārtrauciet procesu mērķtiecīgi, izmantojot tam piederīgo pakalpojumu. Ja serveru ir vairāki, noder īss protokols katrai iekārtai, ko vēlāk varat izmantot kā pierādījumu.

Svarīgi

CMS atjauninājums ar cPanel rīkiem, piemēram, WP Toolkit, PHP ievainojamību neaizver. Tas ir lietderīgs, taču neaizstāj ne PHP atjauninājumu, ne pārstartēšanu.

Pagaidu vērtību iestatīšana centralizēti

Ja versija vēl nav labota, php.net iesaka pagaidu pasākumus, kas nesniedz pilnīgu aizsardzību. Sistēmā cPanel tos iestata MultiPHP INI Editor administratora režīmā vai tieši attiecīgās ea-php versijas php.ini. Vērtības klientu kontu .user.ini failā attiecībā uz session.upload_progress.enabled nav pietiekamas.

; attiecīgās versijas servera php.ini (piemērs)
session.upload_progress.enabled = 0
post_max_size = 32M
upload_max_filesize = 24M

Ja augšupielādes funkcijas nav, php.net min post_max_size = 8M. PHP 8.5 gadījumā klāt nāk fatal_error_backtraces=0. Pēc tam atkārtoti pārstartējiet visus darbprocesus. Atmiņas ierobežojumu iestatiet ar cgroups, piemēram, ar CloudLinux limitiem, nevis ar RLIMIT_AS vai RLIMIT_DATA. Papildu informācija atrodama lapā Tūlītēji pasākumi bez ielāpa.

Atbildība starp servera uzturētāju un kontu īpašniekiem

cPanel serverī ar daudziem kontiem WHM administrators atbild par PHP, pakalpojumiem un servera mēroga konfigurāciju. Atsevišķu kontu īpašnieki atbild par savām lietojumprogrammām, spraudņiem un piekļuves datiem. Informējiet kontu īpašniekus, kad un kā ielāpošana notikusi, un iesakiet viņiem pārbaudīt savas lietojumprogrammas, vai nav aizdomīgu pazīmju. Kā situācija izskatās no klienta puses, apraksta lapa Shared hosting.

Saglabājiet žurnālus no 2026. gada 20. oktobra. Ielāps nenoņem ļaunprātīgu programmatūru, kas tika ievadīta iepriekš.

Pierādījumam pietiek ar vienkāršu protokolu katram serverim: atjauninājuma datums un laiks, ea-php un alt-php pakotņu saraksts ar versiju pirms un pēc, procesu saraksts ar startēšanas laikiem pēc pārstartēšanas un, ja vajadzīgs, pakotņu piegādātāja apstiprinājums par backportiem. Glabājiet protokolu ārpus servera. Vēlāk tas kalpo kā pierādījums klientiem, apdrošinātājiem vai revidentiem un atvieglo nākamo ārkārtas atjaunināšanu, jo soļi jau ir aprakstīti. Ja uzturat vairākus cPanel serverus, ir vērts šīs lapas lasīšanas komandas apkopot nelielā skriptā, kas visās iekārtās darbojas vienādi un apkopo rezultātus. Tā novirzes starp serveriem, piemēram, aizmirstu PHP versiju, ievērosiet uzreiz.

Kā PHP SOS palīdz konkrēti?

  • Mēs inventarizējam ea-php, alt-php un sistēmas pakotnes un piesaistām visus kontus to PHP versijai.
  • Ar savu PHP ielāpu pakalpojumu mēs atjauninām, pārstartējam visus pakalpojumus un stāvokli pierādām ar pakotņu sarakstiem un procesu laikiem.
  • Kur nepieciešams, mēs pagaidu vērtības iestatām servera mērogā un nepārrakstāmi.
  • Mēs pārbaudām kontus, vai nav tipisku kompromitēšanas pēdu, un atradumu gadījumā uzsākam ļaunprātīgās programmatūras noņemšanu.
  • Pēc tam mēs samazinām PHP versiju skaitu un nostiprinām konfigurāciju.

Biežāk uzdotie jautājumi

Kur WHM redzu, kurš domēns izmanto kuru PHP versiju?

WHM MultiPHP Manager katram domēnam rāda piešķirto versiju un to, vai PHP-FPM ir aktīvs. Pilnam sarakstam noder arī vaicājums komandrindā. Pierakstiet arī versijas, kas nav piešķirtas nevienam domēnam.

Vai cPanel klients pagaidu vērtības drīkst iestatīt pats failā .user.ini?

Attiecībā uz session.upload_progress.enabled php.net skaidri norāda, ka ar .user.ini un ini_set() nepietiek. Vērtībai jābūt php.ini, FPM pūlā vai servera konfigurācijā. To var izdarīt tikai servera administrators.

Vai pietiek ar graceful restart Apache serverim?

PHP-FPM gadījumā pašiem FPM pakalpojumiem jāpārstartējas, Apache reload tos neatjauno. Apache balstītiem PHP handleriem drošs ceļš ir pilnīga pārstartēšana. Pēc tam pārbaudiet visu PHP procesu startēšanas laiku.

Kā ir ar CloudLinux un alt-php?

CloudLinux serveros vietnes daļēji darbojas ar savām alt-php pakotnēm, nevis ea-php. Tām ir savs pakotņu stāvoklis, un tās jāpārbauda un jāatjaunina atsevišķi.

Avoti

Tūlītējs kontakts

Katra stunda ir svarīga. Rakstiet mums tūlīt.

Īsi aprakstiet sistēmu, PHP versiju un novēroto. Mēs sazināsimies, noskaidrosim situāciju un strādāsim attālināti, līdz incidents ir slēgts un dokumentēts.

Tūlītēja palīdzība