Lyhyesti: PHP2Shellin aikajanalla on toistaiseksi neljä todennettua päivämäärää: ensimmäinen havaittu hyökkäysyritys 17.10., php.netin ennakkoilmoitus 20.10., korjaukset 21.10. kello 16 Saksan aikaa sekä uusi tiedote CVE-2026-115560:stä 23.10.2026. Ylläpitäjille tästä seuraa: korjaus käyttöön, kaikki PHP-prosessit uudelleen käynnistykseen ja lokit talteen viimeistään 20.10. alkaen.
Miksi PHP2Shell-aikajana on tärkeä ylläpitäjälle
Näin vakavassa haavoittuvuudessa ei ratkaise vain se, onko palvelimenne korjattu tänään. Ratkaisevaa on myös se, kuinka kauan se oli sitä ennen haavoittuva. Tämä aikaikkuna määrää, mitkä lokit varmistatte, mitkä tiedostot tarkistatte ja voitteko perustellusti sulkea pois tietomurron.
PHP2Shell koskee PHP:tä itseään, ei yksittäistä CMS-järjestelmää. Kaksi kriittistä haavoittuvuutta, CVE-2026-109618 ja CVE-2026-109619, sallii haittakoodin suorittamisen etänä ilman kirjautumista. Molempien pistemäärä on CVSS v4.0 9.2. Ymmärrettävän johdannon löydätte sivulta Mitä PHP2Shell on?.
Seuraava aikajana sisältää vain päivämääriä, jotka on todennettu tilanteessa 25.10.2026. Jos tieto perustuu mediaraportteihin, se on merkitty.
| Päivämäärä | Tapahtuma | Perusta |
|---|---|---|
| 17.10.2026 | Ensimmäinen havaittu hyökkäysyritys (Amazon) | Mediaraportit |
| 20.10.2026 | php.netin ennakkoilmoitus | php.net |
| 21.10.2026, 14:00 UTC | Korjausten julkaisu (kello 16 Saksan aikaa) | php.net |
| 23.10.2026 | Tiedote CVE-2026-115560:stä | php.net |
| 25.10.2026 | Tämän katsauksen tilanne | – |
17. lokakuuta: ensimmäinen havaittu hyökkäysyritys
Mediaraporttien mukaan ensimmäinen hyökkäysyritys havaittiin 17.10.2026, ja siitä ilmoitti Amazon. Se tapahtui neljä päivää ennen korjauksia. Oli siis ajanjakso, jolloin hyökkäyksiä jo yritettiin, mutta päivitystä ei vielä ollut.
Ei ole todennettu, onnistuiko hyökkäyksiä tässä vaiheessa ja kuinka monta. Omalle tarkistuksellenne seuraus on tärkeä: palvelin, joka on tänään korjattu, on voitu vaarantaa aiemmin. Korjaus ei poista sinne ehditty lisättyä haittaohjelmaa eikä todista, ettei mitään ole tapahtunut.
20. ja 21. lokakuuta: ennakkoilmoitus ja korjaukset
PHP-projekti ilmoitti tietoturvapäivityksistä php.netissä 20.10.2026. Korjatut versiot seurasivat 21.10.2026 kello 14:00 UTC eli kello 16 Saksan aikaa.
| Haara | Viimeinen haavoittuva tila | Korjattu versiossa |
|---|---|---|
| PHP 8.5 | 8.5.11 | 8.5.12 |
| PHP 8.4 | 8.4.26 | 8.4.27 |
| PHP 8.3 | 8.3.35 | 8.3.36 |
| PHP 8.2 | 8.2.34 | 8.2.35 |
PHP 8.1:lle ja vanhemmille ei ole enää virallisia päivityksiä, vain vähäisiä lähdekoodin backporteja versioille 7.4, 8.0 ja 8.1. Ammattilehdistön mukaan haavoittuvia ovat lähes kaikki versiot aina PHP 5.4:ään asti. Koskettuja ajotapoja ovat PHP-FPM, Apache mod_php:n kanssa, php-cgi, FrankenPHP ja LiteSpeed. PHP-tiimi arvioi riskin suurimmaksi mod_php:ssä, jossa hyökkäys on esitetty jo ennen kuin sovelluskoodia ajetaan.
Jakelut ja hosting-yritykset tuovat korjauksia joskus backporttina. Silloin esimerkiksi Plesk näyttää yhä 8.2.34, vaikka palvelin on korjattu. Ratkaisevia ovat paketin tila ja palveluntarjoajan vahvistus, ei näytetty versionumero. Miten tämän tarkistatte oikein, kerrotaan sivulla PHP-version ja korjaustilan tarkistaminen oikein.
23. lokakuuta: tiedote CVE-2026-115560:stä
PHP-projekti julkaisi 23.10.2026 uuden tiedotteen, tällä kertaa CVE-2026-115560:stä. Sen mukaan hyväksikäyttö on mahdollista vain epätavallisella asetuksella: asetuksissa serialize_handler on php_binary tai php_serialize, sovellus vaihtaa sen ennen session_start()-kutsua ini_set()-komennolla arvoon php ja Session Upload Progress on käytössä.
Keino on yksinkertainen, ja se kannattaa ottaa käyttöön riippumatta siitä, tunnetteko tämän asetusyhdistelmän omassa ympäristössänne:
; php.ini-tiedostossa, FPM-poolissa tai palvelimen asetuksissa
; ei ini_set()-komennolla eikä .user.ini-tiedostossa
session.upload_progress.enabled = 0
Käynnistäkää sen jälkeen kaikki PHP-worker-prosessit uudelleen. Täydellisen tiedotteen on määrä ilmestyä seuraavan tavanomaisen virhekorjausjulkaisun yhteydessä. Siihen asti asetus on suositeltu väliaikainen ratkaisu.
Tilanne 25. lokakuuta: tilannekuva ja avoimet kysymykset
BSI (Saksan liittovaltion tietoturvavirasto) on julistanut varoitustason 3 / oranssi. Se suosittelee välitöntä päivitystä ja, jos se ei heti onnistu, verkkopalvelimien väliaikaista irrottamista verkosta. BSI varautui nopeaan laajamittaiseen hyväksikäyttöön; laajasti vahvistettuja onnistuneita hyökkäyksiä ei BSI:n mukaan aluksi tunnettu. BSI:n arvion tiivistää sivu Mitä BSI suosittelee PHP2Shellistä.
Cloudflare ilmoitti havaituista hyökkäysyrityksistä ja on ottanut käyttöön suojasääntöjä, mutta varoittaa, etteivät pelkkiin pyyntötietoihin perustuvat säännöt riitä. Palo Alto Networks (Unit 42) laski yli 22,6 miljoonaa avoimena olevaa, mahdollisesti haavoittuvaa instanssia. Vahvistettuja Indicators of Compromise -tunnisteita ei ole julkaistu; havaitseminen perustuu käyttäytymisanalyysiin.
Jotkin palveluntarjoajat ottivat verkkosivustoja varotoimena pois verkosta. Se ei automaattisesti tarkoita, että kyseiset sivustot on murrettu. Tämän katsauksen hetkellä avoimena on lähinnä se, kuinka monta palvelinta todella vaarannettiin ennen korjausta.
Mitä aikajana tarkoittaa lokeillenne ja tarkistuksillenne
Päivämääristä syntyy kolme jaksoa: ennen 17.10., 17.10. ja oman korjaus- ja uudelleenkäynnistyshetkenne välinen aika sekä sen jälkeinen aika. Keskimmäinen jakso on kriittinen. Mitä pidempään se kesti teillä, sitä perusteellisempi tarkistuksen pitäisi olla.
Ammattilehdistö neuvoo säilyttämään palvelinlokit 20.10.2026 alkaen. Varmistakaa mukaan myös olemassa olevat vanhemmat lokit, ennen kuin automaattinen kierrätys poistaa ne.
Yksinkertainen tapa varmistaa lokit muuttamattomina ja kirjata tilanne:
# Kerää lokit talteen (muokkaa polut järjestelmäänne sopiviksi)
sudo tar czf /root/logs-sicherung-$(date +%F).tar.gz /var/log/apache2 /var/log/nginx /var/log/php*
# Tarkistussumma myöhempää todistamista varten
sha256sum /root/logs-sicherung-*.tar.gz
# Kuinka kauan järjestelmä säilyttää lokit?
grep -R "rotate" /etc/logrotate.d/
Kirjatkaa lisäksi ylös, milloin tarkalleen päivitys asennettiin ja milloin PHP-prosessit käynnistettiin uudelleen. Pelkät uudet tiedostot eivät suojaa, niin kauan kuin vanhat prosessit pyörivät muistissa. Miten varmistetut lokit analysoidaan, kerrotaan oppaassa Verkkopalvelimen lokien analysointi hyökkäyksen jälkeen.
Miten PHP SOS auttaa konkreettisesti?
- Määritämme kanssanne palvelimenne todellisen haavoittuvuusikkunan: paketin tila, korjausajankohta, kaikkien worker-prosessien uudelleenkäynnistys.
- Varmistamme lokit ja järjestelmän tilan jäljitettävästi, ennen kuin mitään muutetaan.
- Tarkistamme käyttäytymispoikkeamat, kuten uudet PHP-tiedostot, vieraat prosessit ja epätavalliset lähtevät yhteydet.
- Dokumentoimme tuloksen niin, että johto, tietosuojavastaavat ja vakuutusyhtiöt voivat työskennellä sen pohjalta.
Toimintatavan vaiheet kuvataan PHP2Shell-pikaavussamme.
Usein kysytyt kysymykset
Milloin PHP2Shell-korjaukset julkaistiin?
PHP-projekti julkaisi korjatut versiot 21.10.2026 kello 14:00 UTC eli kello 16 Saksan aikaa. Korjattuja ovat PHP 8.5.12, 8.4.27, 8.3.36 ja 8.2.35.
Mistä päivämäärästä alkaen palvelinlokit pitäisi säilyttää?
Ammattilehdistö neuvoo säilyttämään lokit 20.10.2026 alkaen. Koska mediatietojen mukaan ensimmäinen hyökkäysyritys havaittiin jo 17.10., kannattaa varmistaa myös olemassa olevat vanhemmat lokit, ennen kuin lokien kierrätys poistaa ne.
Onko CVE-2026-115560 yhtä vaarallinen kuin kaksi ensimmäistä haavoittuvuutta?
23.10.2026 annetun tiedotteen mukaan hyväksikäyttö on mahdollista vain epätavallisella istuntoasetuksella. Väliaikaiseksi keinoksi on annettu session.upload_progress.enabled=0, kunnes seuraava tavanomainen virhekorjausjulkaisu ilmestyy.
Onko PHP2Shellistä vahvistettuja Indicators of Compromise -tunnisteita?
Ei, tilanteessa 25.10.2026 vahvistettuja Indicators of Compromise -tunnisteita ei ole julkaistu. Havaitseminen perustuu käyttäytymisanalyysiin, esimerkiksi epätavallisiin prosesseihin, uusiin tiedostoihin ja poikkeaviin yhteyksiin.