PHP2Shell: mitkä PHP-versiot on korjattu ja miten tarkistatte omanne
Lokakuussa 2026 PHP-projekti korjasi 2 kriittistä haavoittuvuutta, joiden avulla hyökkääjä voi suorittaa koodia palvelimella kirjautumatta. CISA kutsuu niitä nimellä "PHP2Shell". Niiden tunnisteet ovat CVE-2026-109618 ja CVE-2026-109619, ja kummankin CVSS v4.0 -pistemäärä on 9,2. Jos mikä tahansa osa yrityksenne verkkopalveluista toimii PHP:llä, toimenpide on yksinkertainen: varmistakaa, että käytössä on PHP 8.2.35, 8.3.36, 8.4.27, 8.5.12 tai uudempi, tai toimittajan versio, joka sisältää korjauksen.
Tässä artikkelissa kerromme, mitä korjattiin, mitkä versiot sisältävät korjauksen, miten selvitätte palvelimenne ilmoittaman version ja mitä kysyä hosting-palvelustanne vastaavilta. Voitte myös tarkistaa verkkosivustonne ilmoittaman PHP-version muutamassa sekunnissa.
Mikä PHP2Shell on
PHP:n tietoturvatiedote 21. lokakuuta 2026 kuvaa 2 virhettä siinä, miten PHP käsittelee pyyntöjen sisäistä dataa:
- CVE-2026-109618, muistin loppumisesta johtuva korruptio. Kun PHP:ltä loppuu muisti, se voi keskeytyä, kun pyynnön sisäinen data on alustettu vain osittain, ja siivous voi tämän jälkeen käsitellä virheellistä dataa kelvollisena.
- CVE-2026-109619, vanhentunut pyynnön tila. Yhdelle pyynnölle kuuluva sisäinen tila voi säilyä senkin jälkeen, kun sen muisti on vapautettu, ja saman työprosessin myöhemmin käsittelemä pyyntö voi käyttää sitä.
Kumpikin voi mahdollistaa etäkoodin suorittamisen ilman tunnistautumista. Tiedotteen mukaan haavoittuvuus koskee jokaista PHP-asennusta, joka palvelee verkkopyyntöjä, mukaan lukien PHP-FPM, Apache ja mod_php, php-cgi, FrankenPHP ja LiteSpeed. PHP-tiimin mukaan suurin riski on mod_php:ssä, koska pyyntö voi laukaista hyökkäyksen, ennen kuin mitään sovelluskoodia ajetaan. Se tarkoittaa myös, että päällä oleva sovellus (WordPress, verkkokauppa, oma portaali) ei itsessään suojaa teitä; korjaus on PHP:ssä.
Korjatut versiot ja aikajana
- 21. lokakuuta 2026: PHP-projekti julkaisi korjauksen sisältävät versiot 8.2.35, 8.3.36, 8.4.27 ja 8.5.12. Samana päivänä Slovakian kansallinen CSIRT SK-CERT julkaisi varoituksen ja CISA antoi hälytyksen.
- 26. lokakuuta 2026: CISA lisäsi molemmat CVE:t Known Exploited Vulnerabilities -luetteloonsa, joka listaa haavoittuvuudet, joiden hyväksikäytöstä on näyttöä todellisissa hyökkäyksissä.
PHP 8.1 ja vanhemmat eivät enää saa päivityksiä PHP-projektilta (katsokaa tuetut versiot). Tiedotteen mukaan osa Linux-jakeluista ja pitkän tuen toimittajista siirtää korjauksia taaksepäin vanhempiin versioihin, ja PHP:n tietoturvatiimi julkaisi minimaaliset lähdekoodikorjaukset versioille 7.4, 8.0 ja 8.1 niille, jotka kääntävät PHP:n itse. Jos palvelunne käyttää jotakin näistä haaroista, kysykää toimittajaltanne, sisältyykö korjaus, ja suunnitelkaa siirtymä tuettuun haaraan.
Miten selvitätte käyttämänne PHP-version
Varma vastaus tulee palvelimelta itseltään, ei ulkoapäin:
- Kysykää palvelusta vastaavalta (hosting-palveluntarjoajalta, kumppanitoimistolta tai IT-tiimiltä) tarkka PHP-versio ja sisältääkö se 21. lokakuuta julkaistut korjaukset.
- Jos teillä on komentorivipääsy, ajakaa
php -v. Verkkopalvelin voi käyttää eri PHP-binääriä kuin komentorivi, joten tarkistakaa versio myös hosting-paneelista tai PHP-FPM-poolista. - Paketinhallinta näyttää toimittajan versiot: Debianissa ja Ubuntussa
dpkg -l | grep php, RHEL:ssä ja vastaavissa järjestelmissärpm -qa | grep php. Verratkaa paketin versiota toimittajanne tietoturvatiedotteeseen, sillä toimittajat säilyttävät usein alkuperäisen versionumeron ja lisäävät korjauksen.
Ulkoapäin osa palvelimista kertoo versionsa HTTP-vastausotsakkeissa:
X-Powered-By: PHP/8.3.12
Server: Apache/2.4.62 (Debian)
Omat otsakkeenne näette komennolla curl -sI https://www.example.com/. PHP2Shell-tarkistuksemme lukee samat 2 otsaketta, X-Powered-By ja Server, ja vertaa numeroa korjattuihin versioihin.
Mitä otsake voi kertoa ja mitä ei
Lukekaa otsaketta huolellisesti, molempiin suuntiin:
- Vanha numero ei todista, että palvelin on haavoittuva. Monet hosting-palveluntarjoajat asentavat korjauksen järjestelmätasolla ja säilyttävät alkuperäisen versiomerkkijonon.
- Ajantasainen numero on hyvä merkki, ei todiste. Otsaketta voi muuttaa, tai sen voi asettaa palvelimen edessä oleva välityspalvelin.
- Puuttuva numero tarkoittaa vain, ettei tietoa ole. Useimmat palvelimet eivät lähetä PHP-versiotaan lainkaan. Kun mittasimme 31. lokakuuta 2026 yhteensä 8 221 slovakialaisen yrityksen verkkotunnusta, vastanneista 8 171:stä vain 332 kertoi PHP-versionsa otsakkeissa (4,1 %). Muiden kohdalla otsake ei kerro suuntaan eikä toiseen, ja kysymys menee palvelusta vastaavalle.
Mitä tehdä nyt
- Päivittäkää PHP versioon 8.2.35, 8.3.36, 8.4.27, 8.5.12 tai uudempaan, tai asentakaa toimittajanne korjattu paketti. Käynnistäkää PHP-FPM tai verkkopalvelin uudelleen, jotta uusi versio todella on käytössä.
- Kysykää hosting-palveluntarjoajaltanne kirjallisesti, mikä PHP-versio palvelussanne on ja sisältääkö se korjaukset haavoittuvuuksiin CVE-2026-109618 ja CVE-2026-109619. Kysykää samaa staging-palvelimista ja vanhemmista projekteista; katsokaa unohdetut staging- ja testipalvelimet.
- Suunnitelkaa siirtymä pois PHP 8.1:stä ja vanhemmista, jos taaksepäin siirrettyä korjausta ei ole saatavilla.
- Älkää kertoko versiota ulospäin. Asettakaa
php.ini-tiedostoonexpose_php = Off, jolloinX-Powered-Bypoistuu, ja rajoittakaaServer-otsaketta (ServerTokens ProdApachessa,server_tokens offnginxissä). Tämä ei itsessään korjaa mitään, mutta lopettaa yksityiskohtien kertomisen automaattisille skannereille. Lisää artikkelissa HTTP-tietoturvaotsakkeet, jotka jokaisen yrityssivuston pitäisi lähettää.
Jos ette voi päivittää heti, tiedote luettelee väliaikaisia toimenpiteitä, jotka pienentävät tiettyjä hyökkäysreittejä, ja toteaa selvästi, että vain päivitys on täydellinen ratkaisu.
Miten Datahorses auttaa
Valvomme yritystänne ulkoapäin joka päivä samasta näkökulmasta kuin hyökkääjä, emmekä tarvitse pääsyä järjestelmiinne. Kun palvelin alkaa ilmoittaa vanhentuneen ohjelmistoversion, havainnon mukana tulevat tarkat ohjeet palvelusta vastaavalle. Katsokaa, mitä valvomme, tai pyytäkää tarjous.
Lisää artikkeleita
Kiinnitetty
Guarding valvoo nyt myös InvestTimes.comia
Konserniimme kuuluva Invest Times, englanninkielinen startupeista ja sijoittamisesta kertova talouslehti, on nyt Guardingin valvonnassa. Valvomme InvestTimes.comia ulkopuolelta ympäri vuorokauden.
SPF, DKIM ja DMARC selitettynä yrityksen näkökulmasta
3 DNS-tietuetta ratkaisee, voiko kuka tahansa lähettää sähköpostia, joka näyttää tulevan verkkotunnuksestanne. Näin kukin toimii ja näin tarkistatte omanne minuuteissa.
Miten DMARC-koosteraporttia (rua) luetaan ja mitä sillä tehdään
DMARC-koosteraportit luettelevat jokaisen palvelimen, joka lähetti postia verkkotunnuksenne nimissä, ja sen, läpäisikö se tarkistukset. Näin luette XML:n ja teette siitä korjauslistan.