Siirry sisältöön

PHP2Shell: kriittiset PHP-aukot – näin paikkaat ne nyt

BSI varoittaa haavoittuvuuksista CVE-2026-109618 ja CVE-2026-109619: vaikutuksen alaiset versiot, turvalliset päivitykset ja tarkistusohje
21. lokakuuta 2026 kirjoittanut
PHP2Shell: kriittiset PHP-aukot – näin paikkaat ne nyt

21. lokakuuta 2026 | PHP | IT-tietoturva

PHP2Shell: kriittinen PHP-tietoturva-aukko CVE-2026-109618 ja CVE-2026-109619, päivitä PHP nyt

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.

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ä.

Aikajana: ennakkovaroitus 20.10.2026, PHP-paikkaukset 21.10.2026 klo 14:00 UTC, BSI:n varoitus 21.10.2026

  • 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).

OminaisuusMerkitys
TunnisteetCVE-2026-109618 ja CVE-2026-109619
ArvioCVSS v4.0: 9,2 — kriittinen
VaikutusKoodin suoritus palvelimella (Remote Code Execution) ilman kirjautumista
Syy 1Vioittunut muisti, kun PHP ei saa käsittelyn aikana enää keskusmuistia (Out-of-Memory)
Syy 2Vanhentunut globaali tila, joka jää muistiin pyyntöjen väliin
Erityisen vaarassaApache 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.

Turvalliset PHP-versiot haavoittuvuuksien CVE-2026-109618 ja CVE-2026-109619 jälkeen: PHP 8.5.12, 8.4.27, 8.3.36 ja 8.2.35

PHP-haaraVähintään vaadittuHuomautus
PHP 8.58.5.12nykyinen haara
PHP 8.48.4.27
PHP 8.38.3.36
PHP 8.28.2.35Tuki päättyy 31. joulukuuta 2026
PHP 8.1 ja vanhemmatei 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.

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.

Ottakaa yhteyttä nyt

Tilanne: 21. lokakuuta 2026. Tilanne voi muuttua nopeasti; ratkaisevia ovat PHP:n tietoturvatiimin ja BSI:n julkaisut.