21. lokakuuta 2026 | PHP | IT-tietoturva
PHP:n tietoturvatiimi julkaisi 21. lokakuuta 2026 päivitykset kaikille edelleen tuetuille PHP-versioille. Ne sulkevat kaksi kriittistä haavoittuvuutta, jotka ovat tulleet tunnetuiksi nimellä PHP2Shell. BSI on antanut asiasta varoituksen ja vaatii, että vaikutuksen alaiset järjestelmät paikataan viipymättä. Jokaisen, joka ylläpitää PHP:tä käyttävää verkkopalvelinta, tulisi toimia vielä tänään. Tämä koskee myös kaikkia, jotka ylläpitävät ”vain” WordPressiä, Nextcloudia tai Joomlaa, sillä nämä sovellukset toimivat PHP:n päällä.
Tämä artikkeli tiivistää, mitä on tapahtunut, mitkä PHP-versiot ovat vaikutuksen alaisia, mitä versiota tarvitset nyt ja miten tarkistat muutamassa minuutissa, onko palvelimesi suojattu.
Tämän artikkelin sisältö
- Mitä on tapahtunut? Aikajärjestys
- Molemmat PHP-haavoittuvuudet yhdellä silmäyksellä
- Ketä asia koskee?
- Nämä PHP-versiot ovat turvallisia
- Näin tarkistat ja päivität palvelimesi
- PHP 8.1 ja vanhemmat: ei virallista päivitystä
- Väliaikaiset toimenpiteet ja kysymys ”Otetaanko palvelin pois verkosta?”
- Usein kysytyt kysymykset
- Biricon IT Servicesin tuki
Mitä on tapahtunut? Aikajärjestys
PHP:n tietoturvatiimi ilmoitti korjausten julkaisusta etukäteen, jotta hosting-palveluntarjoajilla ja ylläpitäjillä oli aikaa valmistautua. Julkaisu itse tapahtui 21. lokakuuta 2026. BSI antoi varoituksensa (versio 1.1) samana päivänä.
- 20. lokakuuta 2026: PHP:n tietoturvatiimin ennakkovaroitus siitä, että tietoturvapäivitykset ilmestyvät seuraavana päivänä.
- 21. lokakuuta 2026, 14:00 UTC (16:00 Keski-Euroopan kesäaikaa): PHP 8.5:n, 8.4:n, 8.3:n ja 8.2:n paikkaukset julkaistaan.
- 21. lokakuuta 2026: BSI varoittaa ”kriittisistä haavoittuvuuksista, jotka uhkaavat verkkosovelluksia maailmanlaajuisesti”, ja suosittelee paikkaamaan viipymättä. BSI:n mukaan suuret hosting-palveluntarjoajat ovat osittain ottaneet palvelimia ennalta varautumisen vuoksi pois verkosta.
Molemmat PHP-haavoittuvuudet yhdellä silmäyksellä
Kyse on kahdesta erillisestä virheestä PHP:n ytimessä: CVE-2026-109618 ja CVE-2026-109619. Molemmat voivat PHP:n tietoturvatiimin ilmoituksen mukaan johtaa siihen, että hyökkääjä voi suorittaa ohjelmakoodia palvelimella kirjautumatta (unauthenticated Remote Code Execution). Haavoittuvuudet on arvioitu tasolle CVSS v4.0: 9,2 (kriittinen).
| Ominaisuus | Merkitys |
|---|---|
| Tunnisteet | CVE-2026-109618 ja CVE-2026-109619 |
| Arvio | CVSS v4.0: 9,2 — kriittinen |
| Vaikutus | Koodin suoritus palvelimella (Remote Code Execution) ilman kirjautumista |
| Syy 1 | Vioittunut muisti, kun PHP ei saa käsittelyn aikana enää keskusmuistia (Out-of-Memory) |
| Syy 2 | Vanhentunut globaali tila, joka jää muistiin pyyntöjen väliin |
| Erityisen vaarassa | Apache ja mod_php |
BSI:n arvion mukaan julkaisuhetkellä vahvistettuja hyökkäyksiä ei ollut, mutta oli vahvistamattomia viitteitä hyväksikäyttöyrityksistä. Näin laajalle levinneessä ohjelmistossa olevien kriittisten aukkojen kohdalla on kokemuksen mukaan odotettavissa, että hyökkääjät analysoivat korjaukset ja valmistelevat automatisoituja hyökkäyksiä. Paikkausaika on siksi lyhyt.
Ketä asia koskee?
Vaikutuksen alaisena on periaatteessa jokainen palvelin, jolla PHP toimii, riippumatta siitä, miten PHP on liitetty: PHP-FPM, mod_php Apachessa, php-cgi, FrankenPHP tai LiteSpeed. PHP:n tietoturvatiimin mukaan riski on suurin Apachella ja mod_php:llä.
BSI mainitsee nimenomaisesti sovellukset, jotka perustuvat PHP:hen ja voivat siksi olla mukana vaikutuksen alaisina:
- Sisällönhallintajärjestelmät: WordPress, Drupal, TYPO3, Joomla
- Verkkokauppajärjestelmät: Magento
- Pilvi- ja tiedostotallennus: Nextcloud
- Palomuurin käyttöliittymät: pfSense, OPNsense
Itse sovelluksen ei tarvitse olla viallinen. Aukko on PHP:ssä, joten pelkkä WordPressin, Nextcloudin & kumppanien päivitys ei auta. PHP-versio palvelimella on päivitettävä. Palomuureilla, kuten pfSense ja OPNsense, korjattu PHP-versio tulee valmistajan kulloisenkin laiteohjelmistopäivityksen mukana.
Nämä PHP-versiot ovat turvallisia
Haavoittuvuudet on korjattu seuraavissa versioissa. Kaikkea sitä alempaa pidetään haavoittuvana.
| PHP-haara | Vähintään vaadittu | Huomautus |
|---|---|---|
| PHP 8.5 | 8.5.12 | nykyinen haara |
| PHP 8.4 | 8.4.27 | |
| PHP 8.3 | 8.3.36 | |
| PHP 8.2 | 8.2.35 | Tuki päättyy 31. joulukuuta 2026 |
| PHP 8.1 ja vanhemmat | ei virallista päivitystä, katso alhaalla | |
Näin tarkistat ja päivität palvelimesi
1. Selvitä asennettu PHP-versio
Palvelimen komentorivillä php -v näyttää komentorivi-PHP:n version. Verkkopalvelin voi käyttää toista PHP-versiota. Tarkista siksi myös PHP-FPM:n tai Apache-moduulin versio, esimerkiksi komennolla php-fpm8.3 -v tai sivun kautta, joka tulostaa phpinfo() (poista tämä sivu sen jälkeen heti).
2. Asenna päivitys paketinhallinnan kautta
Debianissa, Ubuntussa, RHEL:ssä ja sukulaisjärjestelmissä korjattu versio tulee tavallisen paketinhallinnan kautta, esimerkiksi apt update && apt upgrade tai dnf upgrade. Ulkopuolisista lähteistä, kuten Sury-PPA:sta tai Remi-repositorysta, uudet paketit ilmestyvät yleensä pian.
apt changelog php8.3-fpm tai rpm -q --changelog php | grep CVE-2026-1096).
3. Käynnistä PHP-palvelu uudelleen
Pelkkä pakettipäivitys ei riitä: käynnissä olevat PHP-prosessit säilyttävät vanhan koodin muistissa. Käynnistä PHP-FPM (systemctl restart php8.3-fpm) tai Apache (systemctl restart apache2) uudelleen ja tarkista sen jälkeen, että prosessit on käynnistetty päivityksen jälkeen.
4. Hostatut verkkosivustot
Jaetussa hostingissa päivityksen tekee yleensä palveluntarjoaja. Asiakasvalikosta PHP-version voi yleensä asettaa verkkosivustokohtaisesti. Valitse siellä jokin edellä mainituista turvallisista versioista tai kysy palveluntarjoajalta paikkausten tilaa. BSI:n mukaan yksittäiset palveluntarjoajat ovat ottaneet palvelimia ennalta varautumisen vuoksi pois verkosta. Jos sivustosi ei hetkeksi ole tavoitettavissa, se voi olla syynä.
PHP 8.1 ja vanhemmat: ei virallista päivitystä
PHP 8.1:lle ja vanhemmille ei ole enää virallisia tietoturvapäivityksiä. Tällaisten järjestelmien ylläpitäjillä on kaksi vaihtoehtoa:
- Siirry tuettuun versioon (suositeltu). Mitä vanhempi versio, sitä suurempi on sovelluksen ja laajennusten mukauttamistyö, joten siirtymä tulisi testata etukäteen.
- Siirrä korjaukset takaisin vanhempiin versioihin. PHP:n tietoturvatiimi on asettanut korjaukset saataville kehityshaaroissa GitHubissa. Se, joka kääntää PHP:n itse, voi ottaa nämä muutokset käyttöön vanhemmissa versioissa. Tämä on väliaikainen ratkaisu ja vaatii asiantuntemusta.
Myös PHP 8.2 on tuettu enää vain 31. joulukuuta 2026 asti. Suunnittele siirtymä PHP 8.4:ään tai 8.5:een siksi nyt äläkä lykkää sitä vuodenvaihteeseen.
Väliaikaiset toimenpiteet ja kysymys ”Otetaanko palvelin pois verkosta?”
PHP:n tietoturvatiimi on kuvannut ilmoituksessaan myös väliaikaisia suojatoimenpiteitä. Ne vähentävät riskiä, mutta eivät sulje aukkoja kokonaan. Ne eivät korvaa päivitystä, ja niiden tarkoitus on vain ylittää aika päivitykseen asti.
Se, pitäisikö palvelin ottaa pois verkosta päivitykseen asti, riippuu sen merkityksestä ja tavoitettavuudesta. BSI toteaa, että suuret palveluntarjoajat ovat ottaneet tämän askeleen. Peukalosääntönä:
- Julkisesti tavoitettava palvelin, päivitys mahdollinen nyt: paikkaa heti, sammuttaminen ei ole tarpeen.
- Julkisesti tavoitettava palvelin, päivitys ei mahdollinen lyhyellä aikavälillä: rajoita pääsyä (esimerkiksi palomuurissa vain tunnetuille osoitteille) tai sammuta palvelu väliaikaisesti, erityisesti
mod_php:n kohdalla. - Vain sisäisesti tavoitettava palvelin: paikkaa pian, kiireellisyys on pienempi.
Usein kysytyt kysymykset
Onko minun päivitettävä WordPress, Joomla tai Nextcloud?
Ei tämän haavoittuvuuden takia. Se on PHP:ssa, ei sovelluksessa. Päivittäkää PHP-versio palvelimella. Sovelluksen päivittäminen on siitä riippumatta silti järkevää.
Mistä tunnistan, onko joku jo käyttänyt haavoittuvuutta hyväkseen?
Varmaa vastausta on vaikea antaa. Epäilyttäviä merkkejä ovat tuntemattomat PHP-tiedostot web-hakemistossa, epätavalliset prosessit web-palvelimen käyttäjän alla, uudet käyttäjätilit tai cron-tehtävät sekä epätavallinen lähtevä tietoliikenne. Konkreettisen epäilyn kohdalla järjestelmä tulisi tutkia forensisesti ja tarvittaessa asentaa uudelleen.
Riittääkö Web Application Firewall?
Palomuuri voi pysäyttää tunnettuja hyökkäysmalleja, mutta se ei korvaa päivitystä. Lisää useiden suojakerrosten yhteispelistä voitte lukea artikkelistamme Odoo 19 suojattuna: palomuuri, 2FA & Web RBL. Periaatteet pätevät jokaiseen web-sovellukseen.
Koskeeko tämä Odoota?
Ei. Odoo on kirjoitettu Pythonilla eikä toimi PHP:lla. Vain samalla palvelimella toimivat PHP-sovellukset voisivat olla alttiita.
Mistä löydän viralliset tiedot?
PHP:n tietoturvatiimin tiedotteen löydätte php.net-sivuston uutisarkistosta (merkintä 20. lokakuuta 2026), versiot osoitteesta php.net/downloads. BSI:n varoituksen tunnus on 2026-297981-1032, ja se on julkaistu osoitteessa bsi.bund.de .
Biricon IT Servicesin tuki
Jos ette ole varmoja, mikä PHP-versio palvelimellanne on käytössä, tai tarvitsette apua päivitysten asennuksessa, autamme mielellämme: kaikkien PHP-järjestelmien kartoituksessa, päivitysten asennuksessa, siirtymisessä tuettuun PHP-versioon ja tietomurron tarkistuksessa. IT-palveluntarjoajana huollamme pienten ja keskisuurten yritysten palvelimia, palomuureja ja web-sovelluksia.
Tilanne: 21. lokakuuta 2026. Tilanne voi muuttua nopeasti; ratkaisevia ovat PHP:n tietoturvatiimin ja BSI:n julkaisut.