PHP ilmoitti 21. lokakuuta 2026 kahdesta kriittisestä haavoittuvuudesta, jotka voivat mahdollistaa etäkoodin suorittamisen ilman tunnistautumista. Samana päivänä projekti julkaisi korjaukset versiohaaroihin 8.5, 8.4, 8.3 ja 8.2 ja suositteli käyttäjiä päivittämään viipymättä. Haavoittuvia voivat olla verkkopyyntöjä käsittelevät asennukset, kuten PHP-FPM, Apache mod_php, php-cgi, FrankenPHP ja LiteSpeed, PHP kertoo.

Korjatut versiot ovat PHP 8.5.12, 8.4.27, 8.3.36 ja 8.2.35. Julkaisut korjaavat CVE-2026-109618-haavoittuvuuden, joka liittyy muistin loppuessa vioittuvaan tilaan, sekä CVE-2026-109619-haavoittuvuuden, jossa yhden pyynnön tila saattoi säilyä työprosessissa ja vaikuttaa seuraavan pyynnön käsittelyyn. Näitä versioita vanhemmat versiot ovat haavoittuvia. Projekti ei enää julkaise omia päivityksiä PHP 8.1:lle tai sitä vanhemmille haaroille, joten tällaisten järjestelmien ylläpitäjien kannattaa tarkistaa korjausten saatavuus jakelun tarjoajalta tai pitkäaikaistuen tarjoajalta.
Kaksi virhettä verkkopyynnön elinkaaressa
CVE-2026-109618-haavoittuvuudessa pyynnön käsittely voi keskeytyä muistin loppuessa, ennen kuin sisäiset tiedot on alustettu kokonaan. Tämän jälkeen PHP voi käsittelyn päättyessä käyttää virheellistä tilaa. Kehittäjät kuvaavat haavoittuvuusilmoituksessa muun muassa multipart-pyyntöihin ja muistirajan ylittymiseen liittyviä tilanteita. Apache mod_php:lle on vahvistettu tilanne, jossa ongelma ilmenee jo ennen sovelluskoodin suorittamista. PHP huomauttaa myös, että riski on tässä kokoonpanossa suurempi.
CVE-2026-109619-haavoittuvuus koskee työprosessin pyyntöjen välillä säilyttämää tilaa. Jos toiminto päättyy virheeseen ennen tietojen tyhjentämistä, edellisen pyynnön muisti vapautuu, mutta siihen osoittava viite jää jäljelle. Samaan prosessiin päätyvä seuraava pyyntö voi käyttää vanhentunutta tilaa ennen tavanomaista alustusta. Projektin haavoittuvuusilmoituksessa PHP kuvaa vahvistettuja hyökkäyspolkuja varhaisten diagnostiikkatoimintojen ja tiedostojen latauksen edistymisen käsittelyn kautta. Yksittäisen polun soveltuvuus riippuu kokoonpanosta, sovelluksesta ja käytössä olevista laajennuksista.
Molempien haavoittuvuuksien CVSS 4.0 -pistemäärä on 9,2. PHP:n mukaan vahvistettuun vaikutukseen kuuluu koodin suorittaminen verkkotyöntekijän oikeuksin. Muistipulaan liittyvän virheen osalta haavoittuvuusilmoitus vahvistaa toimivan HTTP-hyökkäystilanteen mod_php:tä vastaan. PHP-FPM:n osalta lähde kuvaa koodianalyysiä ja haavoittuvuuden ehtoja, joten nämä tiedot on tärkeää erottaa tiettyä käyttöönottoa arvioitaessa.
Mitä ylläpitäjien kannattaa tarkistaa
Selvitä ensin, mitkä PHP-versiot käsittelevät todellisuudessa verkkoliikennettä: samalla palvelimella voi olla erilliset CLI-, FPM- ja Apache-koosteet, ja kontit sekä klusterin solmut päivitetään toisistaan riippumatta. Asenna kullekin tuetulle versihaaralle vastaava korjattu julkaisu tai toimittajan paketti, jonka sisältämä korjaus on vahvistettu. Käynnistä sen jälkeen kaikki PHP-työprosessit uudelleen ja tarkista niiden versio uudelleenkäynnistyksen jälkeen — tiedostojen vaihtaminen ilman uudelleenkäynnistystä jättää vanhat prosessit käyntiin.
Tarkista PHP 8.1:n ja sitä vanhempien versioiden osalta tuen tila sekä jakelun tai pitkäaikaistuen tarjoajan mahdollinen korjaus. Jos korjattua pakettia ei ole saatavilla, suunnittele siirtyminen tuettuun versiohaaraan. PHP kertoo, että Linux-jakelujen tarjoajat saivat korjaukset ennakkoon. Niiden pakettiversionumero voi poiketa PHP:n virallisen julkaisun numerosta, joten tarkista nimenomaan tieto siitä, että korjaus sisältyy pakettiin.
Väliaikaiset asetukset ja pyyntöjen suodatus voivat pienentää yksittäisiä hyökkäysreittejä, mutta projektin mukaan päivittäminen on ainoa täydellinen tapa korjata molemmat ongelmat. Tiimien käytännön ensisijaisia tehtäviä ovat kaikkien verkkotyöntekijöiden luettelointi, korjatun paketin asentaminen, prosessien uudelleenkäynnistäminen ja tuloksen tarkistaminen jokaisessa solmussa. Näin vahvistetut haavoittuvuudet saadaan korjattua sen sijaan, että luotettaisiin pelkästään verkkopalvelimen asetuksiin.