# Plesk serveris: PHP versijų patikra ir pataisymas

> Plesk PHP atnaujinimas po PHP2Shell: patikrinkite tvarkykles, paketų būseną ir backport, paleiskite iš naujo visas PHP-FPM tarnybas ir įrodykite pataisą.

Šaltinis: https://phpsos.de/lt/server/plesk/  
Būsena: 2026-10-25  
Teikėjas: PHP SOS, PHP avarinė pagalba ir serverio sauga. Skubi pagalba per „WhatsApp“: https://wa.me/491736494914?text=Sveiki%2C%20PHP%20SOS%2C%20mums%20reikia%20pagalbos%20su%20m%C5%ABs%C5%B3%20PHP%20serveriu.%20%C4%AEmon%C4%97%3A%20%E2%80%A6%20Svetain%C4%97%3A%20%E2%80%A6

**Trumpai:** Plesk PHP atnaujinimas baigtas tik tada, kai kiekviena įdiegta PHP versija yra ištaisytoje būsenoje, visos PHP-FPM tarnybos paleistos iš naujo ir tai galite įrodyti paketo būsena bei procesų paleidimo laiku. Vien skydelyje rodomo versijos numerio nepakanka, nes backport jį dažnai palieka nepakeistą.

## Kuo svarbus PHP2Shell Plesk serveriuose

PHP2Shell yra du kritiniai pažeidžiamumai pačiame PHP (CVE-2026-109618 ir CVE-2026-109619, kiekvienas CVSS v4.0 9,2). Jie leidžia užpuolikams vykdyti kodą serveryje be prisijungimo. Paveikti, be kita ko, PHP-FPM ir Apache su mod_php, t. y. būtent tie veikimo režimai, kuriuos Plesk nustato svetainėms.

2026-10-21 PHP projektas paskelbė ištaisytas versijas 8.5.12, 8.4.27, 8.3.36 ir 8.2.35. PHP 8.1 ir senesnėms versijoms oficialių atnaujinimų nebėra. Plesk serveriai turi ypatumą: čia dažnai lygiagrečiai veikia kelios PHP versijos, dalis iš paties Plesk, dalis iš operacinės sistemos. Kiekvieną iš jų reikia tikrinti atskirai.

> **Svarbu:**
> Atnaujinimas skydelyje pakeičia failus diske. Kol atmintyje veikia seni PHP procesai, pažeidžiamumas lieka atviras. Nepaleidus iš naujo visų darbinių procesų (worker), pataisa neveikia.

## Plesk PHP atnaujinimas: pirmiausia surašykite esamą būklę

Prieš ką nors atnaujindami, susidarykite visų PHP tvarkyklių ir jas naudojančių domenų sąrašą. Tai galima padaryti skydelyje (Tools & Settings, PHP Settings) arba komandinėje eilutėje. Toliau pateiktos komandos nieko nekeičia, jos tik skaito.

```bash
# Visos užregistruotos PHP tvarkyklės su versija ir keliu
plesk bin php_handler --list

# Kiekvienos Plesk įdiegtos PHP versijos versija (kelias kaip pavyzdys)
for p in /opt/plesk/php/*/bin/php; do echo "$p"; "$p" -v | head -1; done
```

Prie kiekvienos tvarkyklės užsirašykite: versiją, veikimo režimą (FPM, FastCGI, Apache modulis) ir domenų skaičių. Tvarkyklė be domenų nėra pagrindas nusiraminti. Ji vėliau gali būti priskirta arba veikti bandomuosiuose subdomenuose.

## Tikrinkite paketo būseną, o ne rodmenį

Plesk rodo versijos numerį, kurį praneša pats PHP. Jei Plesk ar distribucija pataisą pateikia kaip backport, ten vis dar gali būti, pavyzdžiui, 8.2.34, nors pataisymas įtrauktas. Ir atvirkščiai, atrodantis naujas numeris gali klaidinti, jei paketas dar nebuvo atnaujintas. Lemia įdiegto paketo būsena ir raštiškas teikėjo patvirtinimas.

```bash
# Debian/Ubuntu (paketų pavadinimai kaip pavyzdys)
dpkg -l | grep -E 'plesk-php|php[0-9.]+-(fpm|cli)'

# AlmaLinux/Rocky/RHEL (paketų pavadinimai kaip pavyzdys)
rpm -qa | grep -E 'plesk-php|^php' | sort
```

Palyginkite paketų versijas su Plesk pakeitimų žurnalų duomenimis ir jūsų distribucijos nurodymais. Jei ten nėra aiškiai dokumentuota, kad CVE-2026-109618 ir CVE-2026-109619 ištaisyti, pasiteiraukite teikėjo. Šabloną rasite puslapyje [Paklauskite hostingo teikėjo apie pataisų būseną](https://phpsos.de/lt/ratgeber/hoster-patch-status-erfragen/).

## Įdiekite atnaujinimą ir paleiskite iš naujo visus darbinius procesus

Pats atnaujinimas vykdomas per Plesk diegimo programą arba sistemos paketų tvarkyklę. Po to eina žingsnis, kurio dažniausiai trūksta: paleidimas iš naujo. Kiekviena PHP versija Plesk turi savo FPM tarnybą. Paleiskite iš naujo visas, o ne tik pagrindinio domeno.

```bash
# Išvardykite visas PHP-FPM tarnybas (tarnybų pavadinimai kaip pavyzdys)
systemctl list-units --type=service | grep -i 'php.*fpm'

# Kiekvieną tarnybą paleiskite iš naujo, pvz.:
systemctl restart plesk-php84-fpm

# Patikrinkite veikiančių PHP procesų paleidimo laiką
ps -eo pid,lstart,cmd | grep -E 'php-fpm|php-cgi' | grep -v grep
```

Jei domenas veikia su Apache ir mod_php, visiškai paleiskite Apache iš naujo. Jei PHP proceso paleidimo laikas ankstesnis nei atnaujinimas, jis dar nebuvo atnaujintas. Daugiau apie šį žingsnį rasite puslapyje [PHP-FPM ir visų darbinių procesų paleidimas iš naujo](https://phpsos.de/lt/php2shell/php-fpm-neustart/).

## Pereinamosios priemonės, kol atnaujinimo dar nėra

Jei kuriai nors versijai pataisos dar nėra, php.net rekomenduoja pereinamąsias priemones. Jos nėra visiška apsauga. Plesk reikšmes, kurių programos negali perrašyti, nustatykite kaip `php_admin_value` papildomose domeno FPM direktyvose arba visame serveryje atitinkamos versijos php.ini.

```ini
; papildomų PHP-FPM direktyvų Plesk pavyzdys
php_admin_value[session.upload_progress.enabled] = 0
php_admin_value[post_max_size] = 8M
php_admin_value[upload_max_filesize] = 6M
```

Su įkėlimais, pasak php.net, numatyta `post_max_size = 32M`, o `upload_max_filesize` mažesnis. PHP 8.5 papildomai nustatoma `fatal_error_backtraces=0`. Atminties ribojimą su `memory_limit=-1` reikia taikyti tik kartu su riba konteinerio ar cgroup lygmeniu. Po to vėl paleiskite iš naujo visus darbinius procesus. Išsamiau rašoma puslapyje [Skubios priemonės be pataisos](https://phpsos.de/lt/php2shell/sofortmassnahmen-ohne-patch/). BSI (Vokietijos Federalinė informacijos saugumo tarnyba) rekomenduoja laikinai atjungti žiniatinklio serverius nuo tinklo, jei atnaujinimas nedelsiant neįmanomas.

## Po pataisos: išsaugokite žurnalus ir patikrinkite pėdsakus

Pataisa uždaro pažeidžiamumą ateičiai. Ji nepašalina kenkėjiškos programinės įrangos, kuri buvo įterpta anksčiau, ir neįrodo, kad nieko neįvyko. Todėl išsaugokite žiniatinklio serverio žurnalus nuo 2026-10-20. Plesk juos kiekvienam domenui laiko kataloge `logs`; šioje padėtyje netrumpinkite saugojimo laiko.

Atkreipkite dėmesį į naujus ar pakeistus PHP failus įkėlimų kataloguose, nepažįstamas suplanuotas užduotis ir naujas administratorių paskyras. Paskelbtų, patvirtintų Indicators of Compromise kol kas nėra; aptikimas remiasi elgsenos analize. Jei randate įtartinų dalykų, nedirbkite toliau savarankiškai, o pirmiausia išsaugokite būseną.

## Kaip PHP SOS padeda konkrečiai?

- Surašome visas jūsų Plesk serverio PHP tvarkykles, priskiriame domenus ir tikriname tikrąją paketų būseną pagal versiją.
- Pagal mūsų [PHP pataisų paslaugą](https://phpsos.de/lt/leistungen/php-patch-service/) įdiegiame atnaujinimus, paleidžiame iš naujo visas tarnybas ir procesų paleidimo laikus dokumentuojame kaip įrodymą.
- Kur pataisos trūksta, pereinamąsias priemones pagal php.net nustatome visame serveryje ir taip, kad jų nebūtų galima perrašyti.
- Išsaugome žurnalus ir ieškome kompromitavimo pėdsakų, o radus pasitelkiame [incidentų valdymą](https://phpsos.de/lt/leistungen/incident-response/).
- Po to nuolat sutvirtiname serverį ir pašaliname nereikalingas PHP versijas.


## Dažni klausimai

**Kodėl Plesk po atnaujinimo vis dar rodo PHP 8.2.34?**  
Distribucijos ir teikėjai saugumo pataisymus kartais įdiegia kaip atgalinį pataisų perkėlimą (backport), nekeisdami versijos numerio. Tuomet lemia paketo būsena ir teikėjo patvirtinimas. Vien rodmuo neįrodo nei pataisos, nei jos nebuvimo.

**Ar pakanka Plesk skydelyje spustelėti „Atnaujinti“?**  
Atnaujinimas įrašo naujus failus, bet veikiantys PHP procesai ir toliau dirba su senu kodu atmintyje. Naujas kodas pradeda veikti tik paleidus iš naujo visas PHP-FPM tarnybas ir žiniatinklio serverį. Po to patikrinkite procesų paleidimo laiką.

**Ar turiu pataisyti ir tas PHP versijas, kurių nenaudoja joks domenas?**  
Taip, jei jos lieka įdiegtos. Nenaudojama tvarkyklė vėliau gali būti netyčia priskirta arba pasiekiama per bandymų aplinkas. Nereikalingas versijas geriau pašalinti visiškai.

**Ar WordPress atnaujinimas Plesk įrankių rinkinyje padeda nuo PHP2Shell?**  
Ne. PHP2Shell paveikia patį PHP, o ne CMS. CMS atnaujinimas vis tiek prasmingas, bet šio pažeidžiamumo neuždaro.

## Šaltiniai

- [php.net: saugumo pranešimai](https://www.php.net/)
- [PHP 8 ChangeLog](https://www.php.net/ChangeLog-8.php)
- [php.net: palaikomos versijos](https://www.php.net/supported-versions.php)
- [BSI](https://www.bsi.bund.de/)
