Tietoturvakorjaus auttaa vasta, kun haavoittuvia järjestelmiä ylläpitävät tahot pystyvät asentamaan sen. PHP2Shell-tapauksessa vapaaehtoinen ylläpitäjä Ondřej Surý auttoi kuromaan umpeen tätä väliä valmistelemalla Debianin ja Ubuntun PHP-paketteja – myös vanhemmille PHP-versioille.
17
28 Hänen työnsä muistuttaa, että avoimen lähdekoodin tietoturva ei riipu vain haavoittuvuuksien löytämisestä ja korjaamisesta. Tarvitaan myös ylläpitoa, joka saa päivitykset kulkemaan ohjelmiston käyttäjille.
Mitä PHP2Shell tarkoitti – ja mitä PHP korjasi
PHP2Shell-nimellä viitataan kahteen haavoittuvuuteen: CVE-2026-109618:aan ja CVE-2026-109619:ään. PHP:n tietoturvatiimin ennakkoilmoituksessa kummankin vakavuudeksi arvioitiin 9,2 CVSS v4.0 -asteikolla.
6
7 Haavoittuvuuksien onnistunut hyväksikäyttö saattoi antaa kirjautumattomalle hyökkääjälle mahdollisuuden suorittaa koodia etänä PHP-asennuksessa, joka käsittelee verkkopyyntöjä.
3
8
PHP julkaisi 21. lokakuuta 2026 korjatut versiot 8.2.35, 8.3.36, 8.4.27 ja 8.5.12.
3 Nämä olivat PHP-projektin omat julkaisut: korjaukset olivat ohjelmiston lähdekoodissa, mutta palvelinten ylläpitäjät tarvitsivat päivitykset myös omille järjestelmilleen sopivassa, asennettavassa muodossa.
Miksi paketointi oli tärkeää
Monet ylläpitäjät asentavat PHP:n valmiina pakettina eivätkä kokoa sitä itse lähdekoodista. Pakettien valmistelu on erillinen työvaihe alkuperäisen korjauksen tekemisestä tai hyväksymisestä. Surý on ylläpitänyt Debianin ja Ubuntun PHP-paketteja vapaaehtoisesti yli 20 vuotta, pääosin vapaa-ajallaan.
17
32
Raporttien mukaan hänen pakettivarastossaan oli julkaisupäivänä korjattuja paketteja PHP-versioille 5.6–8.5.
28 Tämä oli merkityksellistä myös vanhojen asennusten kannalta: PHP 8.1 ja sitä vanhemmat versiot eivät enää saaneet PHP-projektilta tavanomaisia päivityksiä. Projekti kuitenkin julkaisi lähdekoodiin tehtyjä takautuvia korjauksia versioille 7.4, 8.0 ja 8.1, ja myös muut toimittajat tarjosivat korjauksia.
2
33
Ero on käytännöllinen: lähdekoodin korjaus auttaa niitä, jotka osaavat soveltaa sen ja koota ohjelmiston. Valmis paketti antaa ylläpitäjälle suoremman tavan ottaa korjaus käyttöön. Surýn työ tarjosi tämän reitin Debianin ja Ubuntun käyttäjille, myös vanhempia PHP-versioita käyttäville.
24
28 Käytettävissä olevat raportit kertovat pakettien valmistelusta, mutta eivät siitä, kuinka moni palvelin asensi ne tai miten nopeasti.
Kiireinen julkaisuaikataulu ja kiista ennakkotiedosta
PHP:n tietoturvatiimi oli suunnitellut julkaisun 21. lokakuuta ja ilmoitti, että aikataulua voitaisiin aikaistaa, jos haavoittuvuuksien yksityiskohtia tulisi julki tai havaittaisiin aktiivista hyväksikäyttöä.
7 Julkaisuprosessista syntyi myös kiista. PHP Foundationin mukaan Chainguard julkaisi korjauksia sisältäviä konttikuvia yli kuusi tuntia ennen sovittua julkaisua ja rikkoi näin ennakkojulkistukseen liittyvän luottamuksellisuuden.
34 Toisen raportin mukaan Chainguardin toimitusjohtaja perusteli päätöstä sillä, että hyökkäyksiä oli jo havaittu.
36 Lähteet kuvaavat osapuolten eri näkemyksiä, eivätkä ratkaise kiistaa riippumattomasti.
Avoimen lähdekoodin tietoturva tarvitsee ylläpitäjiä
PHP2Shellin torjunta vaati useita toisiinsa liittyviä työvaiheita: haavoittuvuuksien tutkimista, korjausten tekemistä alkuperäiseen ohjelmistoon, jakelupakettien valmistelua ja päivitysten asentamista. Surýn pitkäaikainen vapaaehtoistyö teki paketoinnin merkityksen näkyväksi, mutta laajempi opetus koskee koko avoimen lähdekoodin infrastruktuuria: korjauksen on kuljettava ylläpitäjien ja ohjelmistojakelujen kautta ennen kuin se voi suojata käytössä olevia järjestelmiä.
17
24
Siksi päivitysten toimittamiseen tarvittava ylläpitotyö on itsessään tietoturvakysymys. Luotettava päivitysketju edellyttää ihmisiä ja projekteja, jotka pystyvät pitämään paketit ajan tasalla – myös silloin, kun alkuperäinen ohjelmistoprojekti on jo siirtynyt vanhemmista versioista eteenpäin.
28
33