Lyhyesti: CVE-numeron tarkistamiseksi muutoslokista hakekaa asennetun PHP-paketin muutoslokista merkintöjä CVE-2026-109618 ja CVE-2026-109619: Debianilla ja Ubuntulla tiedostosta /usr/share/doc/<paketti>/changelog.Debian.gz, RPM-järjestelmissä komennolla rpm -q --changelog. Osuma yhdessä paketin tilan, viralliseen tietoturvailmoitukseen tehdyn vertailun ja uudelleenkäynnistysajan kanssa muodostaa kestävän todisteen. Puuttuva osuma ei vielä todista, että haavoittuvuus on avoinna.
Miksi todiste on enemmän kuin ”olemme korjanneet”
PHP2Shellin jälkeen moni haluaa tietää, ovatko heidän palvelimensa turvassa: johto, tietosuojavastaava, asiakkaat, joiden kanssa on henkilötietojen käsittelysopimus, joskus kyberturvavakuutuksen antaja. ”Olemme korjanneet” ei riitä. Tarvitaan todiste, jonka kolmas osapuoli voi tarkistaa.
Versionumero ei usein sovi tähän, koska jakelut tuovat korjaukset backportina ja numero pysyy samana. Paketin muutosloki on parempi pohja. Sen kirjoittaa paketin ylläpitäjä, ja tietoturvapäivityksissä se luettelee yleensä korjatut CVE-numerot.
Missä muutoslokit sijaitsevat
Jokaisella pakettimuodolla on oma paikkansa. Seuraava yleiskatsaus auttaa löytämään oikean paikan nopeasti.
| Järjestelmä | Muutoslokin sijainti | Hakukomento |
|---|---|---|
| Debian, Ubuntu | /usr/share/doc/<paketti>/changelog.Debian.gz |
zgrep |
| Debian, Ubuntu (verkossa) | jakelun pakettiarkisto | apt changelog <paketti> |
| RHEL, AlmaLinux, Rocky, Fedora | RPM-pakettitietokanta | rpm -q --changelog <paketti> |
| Konttikuvat | kuvan sisällä, kuten perusjärjestelmässä | suorita komento kontissa |
Debianilla ja Ubuntulla joidenkin binääripakettien dokumentaatiohakemisto viittaa symbolisella linkillä yhteiseen pakettiin, esimerkiksi php8.3-common. Jos zgrep ei löydä tiedostoa, katsokaa hakemisto komennolla ls -l /usr/share/doc/ | grep php.
Changelog CVE-tarkistus: näin toimitte
Seuraavat komennot vain lukevat. Mukauttakaa pakettien nimet omaan asennukseenne.
# Debian/Ubuntu: paikallisesti, ilman verkkoa
zgrep -n -E "CVE-2026-10961[89]|CVE-2026-115560" /usr/share/doc/php8.3-common/changelog.Debian.gz
# Debian/Ubuntu: uusimman merkinnän otsikkorivi paketin tilan ja päivämäärän kanssa
zcat /usr/share/doc/php8.3-common/changelog.Debian.gz | head -20
# RHEL-perhe: merkintä päivämäärineen ja paketin tilan kanssa
rpm -q --changelog php-common | grep -n -B3 -E "CVE-2026-10961[89]"
Debianilla ja Ubuntulla paketin tila on jokaisen merkinnän otsikkorivillä ja päivämäärä päätösrivillä. RPM:ssä molemmat ovat merkintöjen yläpuolisella rivillä. Näin näette paitsi sen, onko CVE mainittu, myös sen, minkä paketin tilan yhteydessä. Verratkaa tätä tilaa asennettuun, esimerkiksi komennolla dpkg-query -W tai rpm -q. Jos ne täsmäävät, korjaus on käynnissä olevassa paketissa mukana.
Paneelipaketit ja kontit
Hosting-paneelit, kuten Plesk tai cPanel, tuovat mukanaan omat PHP-pakettinsa. Nekin ovat tavallisia DEB- tai RPM-paketteja, ja niiden muutoslokin voi lukea samoilla työkaluilla. Se, mainitsevatko toimittajat siinä CVE-numeroita vai vain uuden PHP-version, vaihtelee. Jos paketti ilmoittaa upstream-version 8.5.12, 8.4.27, 8.3.36 tai 8.2.35, se riittää todisteeksi; backporteissa, joissa vanha numero säilyy, tarvitsette toimittajan vastauksen.
Konteissa todiste kuuluu kuvaan, ei isäntäkoneelle. Tarkistakaa paketit kuvasta, josta käynnissä oleva kontti on käynnistetty, ja kirjatkaa lisäksi ylös kuvan digest. Näin jälkikäteen voi selvittää, mikä versio oli todella käytössä, vaikka kuva olisi sillä välin rakennettu uudelleen samalla tagilla.
Jos CVE puuttuu muutoslokista
Puuttuvalla merkinnällä on useita mahdollisia syitä. Käykää ne läpi tässä järjestyksessä:
- Haettu väärästä paketista: Jos palvelimella on useita PHP-haaroja tai lähteitä, vastaus on usein toisen paketin muutoslokissa.
- Upstream-versio CVE:n sijaan: Jos lähde toimittaa uuden upstream-version, esimerkiksi 8.4.27, muutoslokissa voi olla vain ”New upstream version”. Silloin versionumero itse on todiste, koska php.net ilmoittaa versiot 8.5.12, 8.4.27, 8.3.36 ja 8.2.35 korjatuiksi.
- Eri muotoilu: Jotkin ylläpitäjät mainitsevat CVE:n sijaan virhenumeroita tai neuvontatunnisteita, kuten GHSA-w8hw-w9fx-j79w ja GHSA-6wmf-4rv5-p3rp.
- Vertailu tietoturvailmoitukseen: Jos jakelunne virallinen ilmoitus, esimerkiksi USN tai Debian Security Tracker, ilmoittaa korjatun paketin tilan ja asennettuna on tämä tai uudempi, sekin on todiste. Debianin ja Ubuntun tilat löydätte artikkelista Onko PHP-pakettini korjattu?, RHEL-perheen tilat artikkelista RHEL, AlmaLinux ja Rocky Linux.
- Kysykää toimittajalta: Paneelipaketeissa, hosting-yrityksen omissa buildeissa ja kolmansien osapuolten lähteissä auttaa vain kirjallinen vastaus. Pohjan tarjoaa opas Hosting-yrityksen PHP-korjaustilan kysyminen.
Jos näiden vaiheiden jälkeen todistetta ei löydy, kohdelkaa palvelinta korjaamattomana ja ottakaa käyttöön väliaikaiset toimet, kunnes asia on selvitetty.
Osumasta todisteeksi
Muutoslokin osuma todistaa, että paketti sisältää korjauksen. Se ei todista, että käynnissä olevat prosessit käyttävät sitä. Täydellinen todiste sisältää siksi viisi tietoa jokaisesta palvelimesta ja PHP-asennuksesta:
- palvelin, PHP-haara ja ajotapa, esimerkiksi PHP-FPM tai mod_php
- asennetun paketin tila ja pakettilähde
- löytökohta muutoslokista tai viittaus viralliseen tietoturvailmoitukseen
- päivityksen ajankohta ja käynnissä olevien PHP-prosessien käynnistysaika
- tarkistajan nimi ja tarkistuksen päivämäärä
Tallentakaa komentojen raakatulosteet tekstitiedostona todisteen viereen. Niitä on myöhemmin helpompi seurata kuin muistinvaraista yhteenvetoa.
Todiste vastaa vain kysymykseen, oliko aukko suljettu tietystä ajankohdasta alkaen. Sitä edeltävältä ajalta tarvitsette lokit 20. lokakuuta 2026 alkaen ja tarvittaessa jälkien etsinnän. Versiotarkistuksen yleisen kulun kuvaa sivu PHP-version ja korjaustilan oikea tarkistus.
Miten PHP SOS auttaa konkreettisesti?
- Käymme läpi palvelimienne kaikkien PHP-pakettien muutoslokit ja vertaamme niitä virallisiin tietoturvailmoituksiin.
- Kun muutoslokit vaikenevat, selvitämme tilan jakelun, paneelin toimittajan tai hosting-yrityksen kanssa.
- Tarkistamme, että käynnissä olevat prosessit on käynnistetty päivityksen jälkeen uudelleen.
- PHP-päivityspalvelun avulla saatte todisteen palvelinkohtaisesti muodossa, jonka voi antaa kolmansille osapuolille.
Usein kysytyt kysymykset
Miksi PHP-versio ei riitä todisteeksi?
Monet jakelut tuovat tietoturvakorjaukset backportina muuttamatta PHP-versiota. Versionumero ei silloin kerro korjauksesta mitään. Asennetun paketin muutoslokissa sen sijaan mainitaan korjatut CVE-numerot.
Mitä tarkoittaa, jos CVE puuttuu muutoslokista?
Se voi tarkoittaa, että korjaus puuttuu. Mahdollista on myös, että paketin ylläpitäjä on muotoillut asian toisin, esimerkiksi virhenumerolla tai upstream-versiolla. Silloin vertaatte paketin tilaa viralliseen tietoturvailmoitukseen tai kysytte palveluntarjoajalta.
Kuinka kauan todiste kannattaa säilyttää?
Niin kauan kuin se voi olla merkityksellinen sisäisissä tarkastuksissa, vakuutusyhtiölle tai mahdollisissa tietosuojakysymyksissä. Tallentakaa se yhdessä 20. lokakuuta 2026 alkavien lokien kanssa. Tarkat määräajat selvitätte tietosuojavastaavan tai oikeudellisen neuvonantajan kanssa.
Voinko tarkistaa muutoslokin myös ilman internetyhteyttä?
Kyllä. Debian ja Ubuntu tallentavat jokaisen paketin muutoslokin paikallisesti hakemistoon /usr/share/doc, ja RPM-järjestelmät pitävät sen pakettitietokannassa. Molemmat voi lukea ilman verkkoyhteyttä.