Lühidalt: CVE kontrollimiseks muudatuslogis otsige paigaldatud PHP paketi muudatuste protokollist numbreid CVE-2026-109618 ja CVE-2026-109619: Debianis ja Ubuntus asukohast /usr/share/doc/<paket>/changelog.Debian.gz, RPM-süsteemides käsuga rpm -q --changelog. Leid koos paketi seisu, võrdluse ametliku turvateatega ja taaskäivituse ajaga annab usaldusväärse tõendi. Puuduv leid ei ole veel tõend avatud turvaaugu kohta.
Miks tõend on rohkem kui „me paigasime“
Pärast PHP2Shelli tahavad paljud teada, kas nende serverid on turvalised: juhtkond, andmekaitsespetsialist, andmetöötlusleppega kliendid, vahel küberkindlustaja. „Me paigasime“ on selleks liiga vähe. Vaja on tõendit, mida kolmas osapool saab järele kontrollida.
Versiooninumber selleks sageli ei sobi, sest distributsioonid toovad parandused sisse backportina ja number jääb samaks. Parem alus on paketi muudatuslogi. Selle kirjutab paketi hooldaja ja turvauuenduste puhul loetleb see üldjuhul parandatud CVE-numbrid.
Kus muudatuslogid asuvad
Igal paketivormingul on oma koht. Allolev ülevaade aitab õige kohani kiiresti jõuda.
| Süsteem | Muudatuslogi asukoht | Otsimiskäsk |
|---|---|---|
| Debian, Ubuntu | /usr/share/doc/<paket>/changelog.Debian.gz |
zgrep |
| Debian, Ubuntu (veebis) | Distributsiooni paketiarhiiv | apt changelog <paket> |
| RHEL, AlmaLinux, Rocky, Fedora | RPM paketiandmebaas | rpm -q --changelog <paket> |
| Konteineripildid | pildi sees, nagu baassüsteemis | käivitage käsk konteineris |
Debianis ja Ubuntus viitab mõne binaarpaketi dokumentatsioonikataloog sümbolilingiga ühisele paketile, näiteks php8.3-common. Kui zgrep ei leia faili, vaadake kataloogi käsuga ls -l /usr/share/doc/ | grep php.
Muudatuslogi CVE kontroll: nii toimite
Järgmised käsud on puhtalt lugevad. Kohandage paketinimed oma paigaldusele.
# Debian/Ubuntu: kohalikult, ilma võrguta
zgrep -n -E "CVE-2026-10961[89]|CVE-2026-115560" /usr/share/doc/php8.3-common/changelog.Debian.gz
# Debian/Ubuntu: uusima kirje päisrida koos paketi seisu ja kuupäevaga
zcat /usr/share/doc/php8.3-common/changelog.Debian.gz | head -20
# RHEL-perekond: kirje koos kuupäeva ja paketi seisuga
rpm -q --changelog php-common | grep -n -B3 -E "CVE-2026-10961[89]"
Debianis ja Ubuntus on paketi seis iga kirje päisereas ja kuupäev lõpureas. RPM-i puhul on mõlemad kirje kohal olevas reas. Nii näete mitte ainult seda, kas CVE on mainitud, vaid ka seda, millise paketiseisuga. Võrrelge seda paigaldatud seisuga, näiteks käskudega dpkg-query -W või rpm -q. Kui need ühtivad, sisaldab töötav pakett parandust.
Paneelipaketid ja konteinerid
Majutuspaneelid tarnivad oma PHP pakette, näiteks Plesk või cPanel. Needki on tavalised DEB- või RPM-paketid ning nende muudatuslogi saab lugeda samade tööriistadega. Kas pakkujad nimetavad seal CVE-numbreid või ainult uut PHP versiooni, on erinev. Kui pakett nimetab upstream-versiooni 8.5.12, 8.4.27, 8.3.36 või 8.2.35, piisab sellest tõendina; vana numbriga backportide puhul on vaja pakkuja kinnitust.
Konteinerite puhul kuulub tõend pildi, mitte hosti juurde. Kontrollige pakette pildis, millest töötav konteiner käivitati, ja jäädvustage lisaks pildi digest. Nii on hiljem jälgitav, milline seis tegelikult töötas, ka siis, kui pilt on sama sildi all vahepeal uuesti ehitatud.
Kui CVE muudatuslogis puudub
Puuduval kirjel on mitu võimalikku põhjust. Käige need läbi selles järjekorras:
- Otsiti valest paketist: Mitme PHP haru või allika korral serveris on vastus sageli teise paketi muudatuslogis.
- Upstream-versioon CVE asemel: Kui allikas tarnib uue upstream-versiooni, näiteks 8.4.27, võib muudatuslogis olla ainult „New upstream version“. Siis on versiooninumber ise tõend, sest php.net nimetab parandatuks versioonid 8.5.12, 8.4.27, 8.3.36 ja 8.2.35.
- Muu sõnastus: Mõned hooldajad nimetavad CVE asemel vigade numbreid või nõuandete tunnuseid, näiteks GHSA-w8hw-w9fx-j79w ja GHSA-6wmf-4rv5-p3rp.
- Võrdlus turvateatega: Kui teie distributsiooni ametlik teade, näiteks USN või Debian Security Tracker, nimetab parandatud paketiseisu ja see või uuem on paigaldatud, on see samuti tõend. Debiani ja Ubuntu seisud leiate artiklist Kas minu PHP pakett on paigatud?, RHEL-perekonna omad artiklist RHEL, AlmaLinux ja Rocky Linux.
- Küsige pakkujalt: Paneelipakettide, veebimajutaja koostatud versioonide või kolmandate allikate puhul aitab ainult kirjalik vastus. Näidise pakub juhend Küsige veebimajutajalt paigatud seisu kohta.
Kui pärast neid samme tõendit ei ole, käsitlege serverit paigata olevana ja rakendage vahemeetmeid, kuni küsimus on selgitatud.
Leiust tõendini
Leid muudatuslogis tõendab, et pakett sisaldab parandust. See ei tõenda, et töötavad protsessid seda kasutavad. Täielik tõend sisaldab seetõttu viit andmet iga serveri ja PHP paigalduse kohta:
- server, PHP haru ja töörežiim, näiteks PHP-FPM või mod_php
- paigaldatud paketi seis ja paketiallikas
- leiukoht muudatuslogis või viide ametlikule turvateatele
- uuenduse ajahetk ja töötavate PHP protsesside käivitusaeg
- kontrollija nimi ja kontrolli kuupäev
Salvestage käskude toorväljund tekstifailina tõendi kõrvale. Seda on hiljem lihtsam jälgida kui mälu järgi tehtud kokkuvõtet.
Tõend vastab ainult küsimusele, kas turvaauk oli teatud ajahetkest suletud. Selle aja kohta, mis sellele eelnes, on vaja logisid alates 20. oktoobrist 2026 ja vajaduse korral jälgede otsingut. Versioonikontrolli üldise käigu kirjeldab leht PHP versiooni ja paigatud seisu õige kontroll.
Kuidas PHP SOS konkreetselt aitab?
- Läbime teie serverite kõigi PHP pakettide muudatuslogid ja võrdleme neid ametlike turvateadetega.
- Kus muudatuslogid vaikivad, selgitame seisu välja distributsiooni, paneelipakkuja või veebimajutajaga.
- Kontrollime, et töötavad protsessid on pärast uuendust uuesti käivitatud.
- PHP-paigateenusega saate tõendi serveri kohta kujul, mida saab kolmandatele edastada.
Korduma kippuvad küsimused
Miks ei piisa PHP versioonist tõendina?
Paljud distributsioonid võtavad turvaparandused üle backportina ilma PHP versiooni muutmata. Versiooninumber ei ütle siis paiga kohta midagi. Paigaldatud paketi muudatuslogi nimetab aga parandatud CVE-numbrid.
Mida tähendab, kui CVE muudatuslogis puudub?
See võib tähendada, et parandus puudub. Võimalik on ka, et paketi hooldaja on kirjutanud teisiti, näiteks vea numbri või upstream-versiooniga. Siis võrrelge paketi seisu ametliku turvateatega või küsige teenusepakkujalt.
Kui kaua peaksin tõendit säilitama?
Seni, kuni see võib olla oluline sisekontrolli, kindlustaja või võimalike andmekaitseküsimuste jaoks. Hoidke seda koos 20. oktoobrist 2026 pärinevate logidega. Konkreetsed tähtajad selgitage välja andmekaitsespetsialisti või õigusnõustajaga.
Kas muudatuslogi saab kontrollida ka ilma internetiühenduseta?
Jah. Debian ja Ubuntu hoiavad iga paketi muudatuslogi kohalikult kataloogis /usr/share/doc, RPM-süsteemid salvestavad selle paketiandmebaasi. Mõlemat saab lugeda ilma võrguta.