Lyhyesti: PHP2Shell-haavoittuvuus koskee haaroja 8.2–8.5 aina 21. lokakuuta 2026 julkaistuihin versioihin asti, ammattilehdistön mukaan lähes kaikkia versioita aina PHP 5.4:ään asti. Se on korjattu versioissa PHP 8.5.12, 8.4.27, 8.3.36 ja 8.2.35. PHP 8.1:lle ja vanhemmille ei ole enää virallisia päivityksiä, vain vähäisiä lähdekoodin backporteja versioille 7.4, 8.0 ja 8.1.
Mitkä versiot PHP-haavoittuvuus on koskenut?
PHP2Shell käsittää kaksi haavoittuvuutta, CVE-2026-109618 ja CVE-2026-109619, kummankin CVSS v4.0 -pistemäärä on 9.2. Molemmat sallivat haittakoodin suorittamisen etänä ilman kirjautumista. PHP-projekti julkaisi 21. lokakuuta 2026 kello 14:00 UTC (16 Saksan aikaa) korjaukset kaikkiin tuettuihin haaroihin.
| PHP-haara | Viimeinen tila ennen korjausta | Korjattu alkaen | Tuki |
|---|---|---|---|
| 8.5 | 8.5.11 | 8.5.12 | virallisesti tuettu |
| 8.4 | 8.4.26 | 8.4.27 | virallisesti tuettu |
| 8.3 | 8.3.35 | 8.3.36 | virallisesti tuettu |
| 8.2 | 8.2.34 | 8.2.35 | päättyy 31.12.2026 |
| 8.1, 8.0, 7.4 | kaikki tilat | ei virallista julkaisua | vain vähäisiä lähdekoodin backporteja |
| 7.3–5.4 | ammattilehdistön mukaan lähes kaikki haavoittuvia | ei päivitystä | vuosia ilman tukea |
Tiedot haaroista 8.2–8.5 perustuvat php.netin ilmoituksiin. Tieto versioista PHP 5.4:ään asti perustuu ammattilehdistöön; täydellistä virallista luetteloa vanhoille versioille ei ole.
Ei-teknisille muutamalla lauseella: jos palvelimellanne on „Korjattu alkaen“ -sarakkeen versio tai uudempi ja kaikki PHP-prosessit on sen jälkeen käynnistetty uudelleen, PHP2Shell on suljettu. Jos siellä on vanhempi numero, joko kyseessä on backport, jonka palveluntarjoajanne on vahvistettava, tai haavoittuvuus on auki. Kysykää IT-osastoltanne tai hosting-yritykseltä epäselvässä tilanteessa juuri näitä kolmea asiaa: versio, backport, uudelleenkäynnistys.
Haavoittuvat ajotavat
Versionumero on vain puolet vastauksesta. Haavoittuvia ovat kaikki yleiset tavat ajaa PHP:tä verkkopalvelimella: PHP-FPM, Apache mod_php:n kanssa, php-cgi, FrankenPHP ja LiteSpeed. PHP-tiimi arvioi riskin suurimmaksi mod_php:ssä, koska siinä on esitetty hyökkäys ennen kuin sovelluskoodia ajetaan lainkaan. Yksityiskohdat löytyvät sivulta Miksi mod_php kantaa suurimman riskin.
Sovellus ei anna mitään suojaa: onpa kyseessä WordPress, Shopware, TYPO3, Laravel tai oma kehitystyö, sovelluksen päivitys ei sulje PHP:n haavoittuvuutta.
Backportit: kun versionumero johtaa harhaan
Moni Linux-jakelu ja hosting-yritys toimittaa PHP:n omissa paketeissaan. Sen sijaan että hyppäisivät uuteen upstream-versioon, ne ottavat korjauksen backporttina olemassa olevaan versioonsa. Käytännön seuraus: näytetty numero pysyy vanhana. Nykytilanteen esimerkki on Plesk, joka voi yhä näyttää 8.2.34, vaikka virhe on korjattu.
Teille se tarkoittaa: yllä oleva taulukko pätee php.netin virallisiin julkaisuihin. Jakelunne tai hosting-yrityksenne paketeissa ratkaisevat paketin tila ja palveluntarjoajan vahvistus. Miten tarkistatte molemmat, näyttää sivu PHP-version ja korjaustilan tarkistaminen oikein. Pikatesti komentorivillä:
php -v
apt policy php8.3-fpm # Debian/Ubuntu, paketin nimi vaihtelee version ja lähteen mukaan
dnf info php-fpm # RHEL-perhe
Korjattu versionumero levyllä ei vielä tarkoita, että se on käynnissä. Vasta kaikkien PHP-prosessien uudelleenkäynnistyksen jälkeen palvelin toimii korjatulla koodilla.
Mitä pätee PHP 8.1:lle ja vanhemmille?
PHP 8.1:lle, 8.0:lle ja 7.4:lle on vain vähäisiä lähdekoodin backporteja eli korjauksia lähdekoodiin, jotka jonkun on otettava itse käyttöön ja käännettävä. Virallisia julkaisuja ei tule. Jotkin pitkäaikaisen ylläpidon jakelut rakentavat tällaisia korjauksia paketteihinsa; koskeeko se järjestelmäänne, voi selvittää vain paketin muutoslokista tai palveluntarjoajalta.
Pitkällä aikavälillä tuettua versiota ei voi ohittaa. Mitä PHP-versiota CMS tai verkkokauppanne sietää, tarkistakaa valmistajan järjestelmävaatimuksista, esimerkiksi wordpress.org-, shopware.com- tai typo3.org-sivustolta. Lisää aiheesta sivulla PHP 8.1 ja vanhemmat: mitä nyt pätee.
Entä CVE-2026-115560?
php.net julkaisi 23. lokakuuta ohjeen kolmannesta haavoittuvuudesta. Se tehoaa vain epätavallisella session-konfiguraatiolla. Korjattua versiota ei tilanteen 25. lokakuuta mukaan vielä ole; seuraavaan tavalliseen bugikorjausjulkaisuun asti ratkaisu on session.upload_progress.enabled=0. Versioluetteloa odotetaan vasta täydellisen tiedotteen yhteydessä.
Miten PHP SOS auttaa konkreettisesti?
- Inventaario: Kokoamme kaikki palvelimenne PHP-versiot, myös yksittäisten verkkosivustojen toissijaiset asennukset, jotka helposti unohtuvat.
- Vertailu: Selvitämme jokaisesta asennuksesta, onko kyseessä virallinen julkaisu, jakelun backport vai ei korjausta.
- Päivitys todisteineen: PHP-korjauspalvelun kautta asennamme korjauksen ja käynnistämme kaikki prosessit uudelleen.
- Siirtymäsuunnitelma: Versioille ilman virallisia päivityksiä suunnittelemme PHP 8.1:n ja vanhempien siirtymän kautta päivityksen ja suojaamme palvelimen siihen asti.
Usein kysytyt kysymykset
Onko PHP 8.3.35 yhä turvallinen?
Ei, ellei palveluntarjoajanne ole asentanut backportia. 8.3.35 on viimeinen tila ennen korjausta; PHP2Shell on haarassa 8.3 korjattu alkaen versiosta 8.3.36. Jakelupaketeissa numero voi pysyä samana, vaikka virhe on korjattu. Silloin ratkaisee paketin muutosloki tai palveluntarjoajan vahvistus.
Koskeeko PHP2Shell PHP 7.4:ää?
Ammattilehdistön mukaan haavoittuvia ovat lähes kaikki versiot aina PHP 5.4:ään asti. Versioille 7.4, 8.0 ja 8.1 on vain vähäisiä lähdekoodin backporteja eikä virallisia julkaisuja. Siirtyminen tuettuun versioon on luotettava tie.
Miksi Plesk näyttää 8.2.34, vaikka korjaus on tehty?
Jakelut ja hosting-yritykset ottavat korjaukset osin backporttina olemassa oleviin paketteihinsa. Versionumero pysyy silloin samana, vaikka virhe on korjattu. Tarkistakaa paketin tila tai pyytäkää palveluntarjoajalta korjauksen vahvistus.
Mikä PHP-versio minun pitäisi nyt valita?
Tuettu versio, jonka sovelluksenne sallii valmistajan järjestelmävaatimusten mukaan. PHP 8.2:n tuki päättyy 31.12.2026; joka vaihtaa nyt joka tapauksessa, kannattaa ottaa tämä huomioon.