Röviden: Ha a changelogban ellenőrizni akar egy CVE-t, keresse meg a telepített PHP-csomag változásnaplójában a CVE-2026-109618 és a CVE-2026-109619 számot: Debian és Ubuntu alatt a /usr/share/doc/<paket>/changelog.Debian.gz fájlban, RPM-alapú rendszereken az rpm -q --changelog paranccsal. A találat, a csomag állapota, a hivatalos biztonsági közleménnyel való összevetés és az újraindítás időpontja együtt megbízható igazolást ad. A hiányzó találat önmagában még nem bizonyítja, hogy a rés nyitva van.
Miért több az igazolás, mint a „kijavítottuk”
A PHP2Shell óta sokan szeretnék tudni, biztonságosak-e a szervereik: a vezetőség, az adatvédelmi felelős, az adatfeldolgozási szerződéssel rendelkező ügyfelek, olykor a kiberbiztosító. A „kijavítottuk” erre kevés. Olyan bizonyíték kell, amelyet egy harmadik fél is vissza tud követni.
A verziószám erre gyakran nem alkalmas, mert a disztribúciók a javításokat backportként veszik át, és a szám változatlan marad. A csomag changelogja jobb alap. A csomagkarbantartó írja, és biztonsági frissítéseknél általában felsorolja a kijavított CVE-számokat.
Hol vannak a changelogok
Minden csomagformátumnak megvan a maga helye. Az alábbi áttekintés segít gyorsan a megfelelő helyre jutni.
| Rendszer | A changelog helye | Parancs a kereséshez |
|---|---|---|
| Debian, Ubuntu | /usr/share/doc/<paket>/changelog.Debian.gz |
zgrep |
| Debian, Ubuntu (online) | a disztribúció csomagarchívuma | apt changelog <paket> |
| RHEL, AlmaLinux, Rocky, Fedora | RPM-csomagadatbázis | rpm -q --changelog <paket> |
| Konténer-image-ek | az image-ben, mint az alaprendszernél | a parancs futtatása a konténerben |
Debian és Ubuntu alatt egyes bináris csomagok dokumentációs könyvtára szimbolikus linkkel egy közös csomagra mutat, például a php8.3-common-ra. Ha a zgrep nem találja a fájlt, nézze meg a könyvtárat az ls -l /usr/share/doc/ | grep php paranccsal.
Changelog CVE ellenőrzése: így járjon el
Az alábbi parancsok kizárólag olvasnak. Igazítsa a csomagneveket a saját telepítéséhez.
# Debian/Ubuntu: helyben, hálózat nélkül
zgrep -n -E "CVE-2026-10961[89]|CVE-2026-115560" /usr/share/doc/php8.3-common/changelog.Debian.gz
# Debian/Ubuntu: a legújabb bejegyzés fejlécsora a csomag állapotával és dátumával
zcat /usr/share/doc/php8.3-common/changelog.Debian.gz | head -20
# RHEL-család: bejegyzés a dátummal és a csomag állapotával
rpm -q --changelog php-common | grep -n -B3 -E "CVE-2026-10961[89]"
Debian és Ubuntu alatt a csomag állapota minden bejegyzés fejlécsorában áll, a dátum a záró sorban. RPM esetén mindkettő a bejegyzések feletti sorban van. Így nemcsak azt látja, hogy a CVE szerepel-e, hanem azt is, melyik csomagállapottal. Vesse össze ezt az állapotot a telepítettel, például a dpkg-query -W vagy az rpm -q segítségével. Ha egyezik a kettő, a javítás benne van a futó csomagban.
Panelcsomagok és konténerek
A tárhelypanelek saját PHP-csomagokat hoznak magukkal, például a Plesk vagy a cPanel. Ezek is hétköznapi DEB- vagy RPM-csomagok, a changelogjuk ugyanazokkal az eszközökkel olvasható. Hogy a szolgáltatók feltüntetnek-e benne CVE-számokat, vagy csak az új PHP-verziót, az különböző. Ha a csomag az 8.5.12, 8.4.27, 8.3.36 vagy 8.2.35 upstream-verziót nevezi meg, az bizonyítéknak elegendő; a régi számmal megőrzött backportoknál a szolgáltató tájékoztatására van szükség.
Konténereknél az igazolás az image-hez tartozik, nem a gazdagéphez. Ellenőrizze annak az image-nek a csomagjait, amelyből a futó konténert elindították, és jegyezze fel az image digestjét is. Így később is visszakövethető, melyik állapot futott valójában, még ha az image-t időközben ugyanazon a címkén újraépítették is.
Ha a CVE hiányzik a changelogból
A hiányzó bejegyzésnek több lehetséges oka van. Ebben a sorrendben járja végig őket:
- Rossz csomagban keresett: Ha egy szerveren több PHP-ág vagy forrás is van, a válasz gyakran egy másik csomag changelogjában található.
- Upstream-verzió CVE helyett: Ha a forrás az új upstream-verziót szállítja, például a 8.4.27-et, a changelogban esetleg csak a „New upstream version” szerepel. Ilyenkor maga a verziószám a bizonyíték, mert a php.net a 8.5.12, 8.4.27, 8.3.36 és 8.2.35 verziót nevezi kijavítottnak.
- Más megfogalmazás: Egyes karbantartók a CVE helyett hibaszámokat vagy advisory-azonosítókat említenek, például a GHSA-w8hw-w9fx-j79w és a GHSA-6wmf-4rv5-p3rp azonosítót.
- Összevetés a biztonsági közleménnyel: Ha a disztribúció hivatalos közleménye, például egy USN vagy a Debian Security Tracker kijavított csomagállapotot nevez meg, és az vagy egy újabb van telepítve, az szintén bizonyíték. A Debian és Ubuntu állapotait a Javított a PHP-csomagom? cikkben találja, az RHEL-családét a RHEL, AlmaLinux és Rocky Linux oldalon.
- Kérdezze meg a szolgáltatót: Panelcsomagoknál, tárhelyszolgáltatói buildeknél és harmadik féltől származó forrásoknál csak az írásos tájékoztatás segít. Mintát kínál rá a Kérdezze meg a tárhelyszolgáltatót a javítási állapotról útmutató.
Ha ezek a lépések után sincs bizonyíték, kezelje a szervert javítatlanként, és alkalmazzon átmeneti intézkedéseket, amíg a kérdés tisztázódik.
A találattól az igazolásig
A changelogban talált bejegyzés azt bizonyítja, hogy a csomag tartalmazza a javítást. Azt nem bizonyítja, hogy a futó folyamatok is használják. A teljes igazolás ezért szerverenként és PHP-telepítésenként öt adatot tartalmaz:
- a szerver, a PHP-ág és az üzemmód, például PHP-FPM vagy mod_php
- a telepített csomag állapota és a csomagforrás
- a lelőhely a changelogban, vagy hivatkozás a hivatalos biztonsági közleményre
- a frissítés időpontja és a futó PHP-folyamatok indulási ideje
- az ellenőrző személy neve és az ellenőrzés dátuma
Mentse el a parancsok nyers kimenetét szövegfájlként az igazolás mellé. Később könnyebben követhető, mint a memóriából írt összefoglaló.
Az igazolás csak arra a kérdésre felel, hogy a rés egy időponttól kezdve zárva volt-e. Az azt megelőző időszakhoz a 2026. október 20-tól készült naplókra és adott esetben nyomkeresésre van szükség. A verzióellenőrzés általános menetét a PHP-verzió és javítási állapot helyes ellenőrzése oldal írja le.
Hogyan segít konkrétan a PHP SOS?
- Átvizsgáljuk a szerverei összes PHP-csomagjának changelogját, és összevetjük a hivatalos biztonsági közleményekkel.
- Ahol a changelogok hallgatnak, a disztribúcióval, a panel szolgáltatójával vagy a tárhelyszolgáltatóval tisztázzuk az állapotot.
- Ellenőrizzük, hogy a futó folyamatokat a frissítés után újraindították-e.
- A PHP-javítási szolgáltatással megkapja szerverenként az igazolást olyan formában, amelyet harmadik félnek is továbbadhat.
Gyakori kérdések
Miért nem elég a PHP-verzió igazolásnak?
Sok disztribúció a biztonsági javításokat backportként veszi át, a PHP-verzió megváltoztatása nélkül. A verziószám ilyenkor semmit sem mond a javításról. A telepített csomag changelogja ezzel szemben megnevezi a kijavított CVE-számokat.
Mit jelent, ha a CVE hiányzik a changelogból?
Azt jelentheti, hogy a javítás hiányzik. De az is lehet, hogy a csomagkarbantartó másképp fogalmaz, például hibaszámmal vagy upstream-verzióval. Ilyenkor vesse össze a csomag állapotát a hivatalos biztonsági közleménnyel, vagy kérdezze meg a szolgáltatót.
Meddig érdemes megőrizni az igazolást?
Addig, amíg belső ellenőrzések, biztosítók vagy lehetséges adatvédelmi kérdések szempontjából jelentősége lehet. Tárolja a 2026. október 20-tól készült naplókkal együtt. A konkrét határidőkről egyeztessen az adatvédelmi felelőssel vagy jogi tanácsadóval.
Ellenőrizhetem a changelogot internetkapcsolat nélkül is?
Igen. A Debian és az Ubuntu minden csomag changelogját helyben tárolja a /usr/share/doc alatt, az RPM-alapú rendszerek a csomag-adatbázisban. Mindkettő hálózat nélkül is olvasható.