Ajankohtainen tilanne: PHP2Shell. Kaksi kriittistä PHP-haavoittuvuutta (CVSS 9.2) sallii haittakoodin suorittamisen ilman kirjautumista. Korjaukset 21.10.2026 alkaen.Mitä nyt on tehtävä →

PHP 8.1 ja vanhemmat: mitä nyt pätee

PHP 8.1:lle, 8.0:lle, 7.4:lle ja vanhemmille versioille ei ole virallisia PHP2Shell-päivityksiä. Mitä lähdekoodin backportit tuovat ja miltä tie tuettuun versioon näyttää.

Tilanne Lukuaika 3 minPHP2Shell

Lyhyesti: PHP 8.1 -haavoittuvuuteen PHP2Shell ei ole virallista päivitystä. PHP-projekti toimittaa versioille 7.4, 8.0 ja 8.1 vain vähäisiä lähdekoodin backporteja, ei valmiita julkaisuja. Joka käyttää näitä versioita, tarvitsee palveluntarjoajansa vahvistaman backportin tai väliaikaisia toimenpiteitä ja kannattaa suunnitella siirtymä tuettuun versioon nyt.

Onko PHP 8.1 -haavoittuvuuteen päivitystä?

Ei PHP-projektilta. 21. lokakuuta 2026 julkaistiin viralliset korjaukset vain tuetuille haaroille: 8.5.12, 8.4.27, 8.3.36 ja 8.2.35. PHP 8.1 ja vanhemmat versiot eivät saa enää virallisia päivityksiä.

Silti ne ovat haavoittuvia. Ammattilehdistön mukaan haavoittuvat versiot ulottuvat lähes yhtäjaksoisesti aina PHP 5.4:ään asti. Joka käyttää julkisesti tavoitettavissa olevaa tällaista versiota, siinä on kriittinen haavoittuvuus (CVSS v4.0 9.2) ilman valmista korjausta.

Monelle yritykselle tämä on yllätys, sillä tällaiset järjestelmät toimivat usein vuosia vakaasti ja huomaamattomasti. Sitä, ettei versio saa enää päivityksiä, ei arjessa huomaa, ennen kuin PHP2Shellin kaltainen haavoittuvuus ilmaantuu. Versioiden 7.4, 8.0 ja 8.1 lähdekoodin backportit ovat poikkeus eivätkä säännöllisen ylläpidon jatkamista.

Mitä lähdekoodin backportit tarkoittavat

Versioille 7.4, 8.0 ja 8.1 on vähäisiä lähdekoodin backporteja. Ne ovat korjauksia lähdekoodissa, jotka on siirretty näihin vanhempiin haaroihin. Ne eivät ole virallinen julkaisu, jossa olisi versionumero, testattu paketti ja muutosloki.

Käytännössä se tarkoittaa: jonkun on otettava backport käyttöön, rakennettava PHP siitä uudelleen, testattava ja vietävä tuotantoon. Se voi tapahtua kolmella tavalla:

  • Jakelunne ottaa korjauksen paketteihinsa, esimerkiksi pitkäaikaisen ylläpidon puitteissa.
  • Hosting-yrityksenne rakentaa omat PHP-pakettinsa ja asentaa backportin.
  • Te itse tai palveluntarjoaja rakennatte PHP:n lähdekoodista. Se on vaativaa ja se on toistettava jokaisen seuraavan haavoittuvuuden kohdalla.

Onko järjestelmänne saanut backportin, tarkistatte paketin muutoslokista:

apt changelog php8.1-fpm | grep -i -E "CVE-2026-109618|CVE-2026-109619"      # Debian/Ubuntu
rpm -q --changelog php-fpm | grep -i -E "CVE-2026-109618|CVE-2026-109619"    # RHEL-perhe

Pakettien nimet vaihtelevat jakelun ja pakettilähteen mukaan. Jos merkintää ei ole, kysykää palveluntarjoajalta. Miten tarkistus toimii yksityiskohtaisesti, kerrotaan sivulla PHP-version ja korjaustilan tarkistaminen oikein.

Vanhan palvelimen suojaaminen siirtymään asti

Niin kauan kuin vahvistettua backportia ei ole käytössä, pätevät php.netin väliaikaiset toimenpiteet: ei ylikirjoitettava memory_limit=-1 muistirajalla cgroupin kautta, post_max_size 8M tai 32M ja sen alla upload_max_filesize sekä session.upload_progress.enabled=0 palvelimen konfiguraatiossa, ja sen jälkeen kaikkien workerien uudelleenkäynnistys. Ne eivät ole täysi suoja. Yksityiskohdat sivulla Pikatoimet, jos ette voi vielä korjata.

Lisäksi tulevat toimenpiteet, jotka vähentävät tavoitettavuutta: ylläpitoalueet vain VPN:n tai sallittujen IP-osoitteiden kautta, tarpeettomat verkkosivustot sammutetaan, palvelimelle pääsy rajataan tiukasti. BSI suosittelee ottamaan palvelimet ilman päivitystä tilapäisesti pois verkosta. Vanhalle, vaikeasti siirrettävälle sovellukselle eristetty ratkaisu voi olla rehellisempi vastaus kuin toiminta avoimessa internetissä.

Toimi heti

Jos PHP 8.1:tä tai vanhempaa käyttänyt palvelin on ollut 17. lokakuuta alkaen suojaamattomana verkossa, suhtautukaa asiaan vakavasti: BSI varautui nopeaan laajamittaiseen hyödyntämiseen. Turvatkaa lokit 20. lokakuuta alkaen ja tarkistuttakaa palvelin jälkien varalta ennen siirtymää.

Siirtymän suunnittelu: mihin versioon?

Tavoitteena on versio, jota PHP-projekti tukee ja jonka sovelluksenne sietää. PHP 8.2 sulkee haavoittuvuuden alkaen versiosta 8.2.35, mutta sen tuki päättyy 31.12.2026. Joka siirtyy nyt, kannattaa siksi siirtyä mahdollisuuksien mukaan versioon 8.3 tai uudempaan, jos sovellus sen sallii. Ajantasaisen tilan kertoo php.net tuettujen versioiden sivulla.

Mitä PHP-versiota CMS tai verkkokauppanne tukee, tarkistakaa valmistajan järjestelmävaatimuksista, esimerkiksi wordpress.org-, shopware.com- tai typo3.org-sivustolta. Usein sovellus on päivitettävä ensin, ennen kuin PHP voidaan vaihtaa. Tyypillinen tapaus ovat vanhemmat verkkokaupat, joita kuvaamme sivulla Shopware 5. Taustaa vanhentuneiden versioiden seurauksista löydätte sivulta PHP End of Life: vanhentuneiden versioiden riskit.

Vaihe Sisältö
Nykytila PHP-versio, sovellus, laajennukset, omat mukautukset
Vaatimukset tuetut PHP-versiot valmistajan mukaan
Testiympäristö kopio uudella PHP-versiolla, virhelokin arviointi
Käyttöönotto suunniteltu huoltoikkuna, paluutie valmisteltuna
Jälkityö ylimenoarvojen tarkistus, valvonnan käyttöönotto

Miten PHP SOS auttaa konkreettisesti?

PHP 8.1:n ja vanhempien siirtymällä opastamme teidät vanhasta versiosta tuettuun:

  • Suojaus heti: backport-tilan tarkistus, väliaikaisten toimenpiteiden asettaminen, tavoitettavuuden pienentäminen.
  • Jälkien tarkistus: lokien turvaaminen 20. lokakuuta alkaen ja poikkeamien analysointi.
  • Siirtymän valmistelu: yhteensopivuuden selvitys valmistajan mukaan, testiympäristön rakentaminen, virheiden korjaus.
  • Käyttöönotto ja todiste: uuden PHP-version asennus, kaikkien prosessien uudelleenkäynnistys, tilan dokumentointi.

Usein kysytyt kysymykset

Koskeeko PHP2Shell PHP 8.1:tä?

Ammattilehdistön mukaan haavoittuvia ovat lähes kaikki versiot aina PHP 5.4:ään asti, PHP 8.1 mukaan lukien. PHP-projekti ei enää julkaise 8.1:lle virallisia päivityksiä vaan vain vähäisiä lähdekoodin backporteja.

Mikä on lähdekoodin backport?

Korjaus lähdekoodissa, joka on siirretty vanhempaan versiohaaraan. Se ei ole valmis julkaisu: jonkun on otettava se käyttöön, käännettävä PHP uudelleen, testattava ja viety tuotantoon. Sen voi hoitaa jakelun toimittajanne, hosting-yrityksenne tai palveluntarjoaja.

Riittääkö vaihtaa PHP 8.2:een?

Lyhyellä aikavälillä PHP 8.2.35 sulkee haavoittuvuuden. PHP 8.2:n tuki kuitenkin päättyy 31.12.2026. Joka muutenkin siirtyy, kannattaa siksi tarkistaa, tukeeko sovellus valmistajan mukaan myös versiota 8.3 tai uudempaa.

Verkkokauppani toimii vain PHP 7.4:llä. Mitä nyt?

Silloin tarvitaan kaksi asiaa rinnakkain: suojata palvelin väliaikaisilla toimenpiteillä ja eristämisellä sekä viedä sovellus versioon, joka sietää tuettua PHP-versiota. Mikä se on, kerrotaan valmistajan järjestelmävaatimuksissa.

Lähteet

Pikayhteys

Jokainen tunti on tärkeä. Kirjoittakaa meille nyt.

Kuvatkaa lyhyesti järjestelmä, PHP-versio ja havainnot. Otamme yhteyttä, selvitämme tilanteen ja työskentelemme etänä, kunnes tapaus on käsitelty loppuun ja dokumentoitu.

Pikaapu