# Mitkä PHP-versiot ovat haavoittuvia?

> Mitkä PHP-versiot PHP2Shell koskee ja mitkä on korjattu: versiotaulukko 8.5:stä 5.4:ään, ohjeet backporteista, tuen päättymisestä ja toimintatavasta.

Lähde: https://phpsos.de/fi/php2shell/betroffene-php-versionen/  
Tilanne: 25.10.2026  
Palveluntarjoaja: PHP SOS, PHP-hätäapu ja palvelimen tietoturva. Pikaapu WhatsAppilla: https://wa.me/491736494914?text=Hei%20PHP%20SOS%2C%20tarvitsemme%20apua%20PHP-palvelimemme%20kanssa.%20Yritys%3A%20%E2%80%A6%20Verkkosivusto%3A%20%E2%80%A6

**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](https://phpsos.de/fi/php2shell/mod-php-risiko/).

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](https://phpsos.de/fi/php2shell/php-version-pruefen/). Pikatesti komentorivillä:

```bash
php -v
apt policy php8.3-fpm        # Debian/Ubuntu, paketin nimi vaihtelee version ja lähteen mukaan
dnf info php-fpm             # RHEL-perhe
```

> **Tärkeää:**
> 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](https://phpsos.de/fi/php2shell/php-8-1-und-aelter/).

## 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](https://phpsos.de/fi/leistungen/php-patch-service/) 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](https://phpsos.de/fi/leistungen/php-migration-legacy/) 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.

## Lähteet

- [php.net: tietoturvatiedotteet](https://www.php.net/)
- [PHP 8 ChangeLog](https://www.php.net/ChangeLog-8.php)
- [php.net: tuetut versiot](https://www.php.net/supported-versions.php)
- [TechTarget: PHP2Shell, 22M exposed servers at risk](https://www.techtarget.com/cybersecurity/news/366652444/PHP2Shell-22M-exposed-servers-at-risk-as-emergency-patches-released)
