Röviden: Ha a php -v a frissítés után ugyanazt a verziót mutatja, az többnyire egy backport miatt van: a disztribúció csak a biztonsági javítást veszi át a meglévő PHP-verziójába, a szám ugyanaz marad. Az Ubuntu 24.04 így továbbra is 8.3.6-ot jelez, noha a csomag javított a PHP2Shell ellen. A kérdést a csomagállapoton és a changelogon keresztül tisztázza, és ellenőrizze azt is, hogy a weboldal valóban az új kóddal fut-e.
Egy tipikus pillanat a PHP2Shell után
Az admin telepítette a frissítést, minden hiba nélkül. Ellenőrzésképp beírja a php -v parancsot, és ugyanazt a verziót látja, mint korábban. Nem működött a frissítés? Nyitva van még a szerver? Ez a kérdés 2026. október 21. óta a leggyakoribbak közé tartozik.
A jó hír: a legtöbb esetben minden rendben van. A rossz: vannak esetek is, amikor az azonos szám valóban problémát jelez. Ez az írás segít megkülönböztetni a kettőt.
Miért nem változtatják meg a számot a disztribúciók
A vállalati és LTS-disztribúciók stabilitást ígérnek. Egy kiadáson belül a viselkedésnek és az interfészeknek lehetőleg nem szabad változniuk. A PHP 8.3.6-ról 8.3.36-ra való ugrás azonban számos hibajavítást és apró viselkedésváltozást hozna magával, amelyek zavarhatnák az alkalmazásokat.
Ezért sok csomagfelelős csak a konkrét biztonsági javítást veszi át a meglévő verziójába. Ezt a folyamatot nevezik backportnak. Az upstream verzió, amelyet maga a PHP a php -v-n keresztül jelez, ugyanaz marad. Ami változik, az a csomagállapot, amelyet a disztribúció ad.
Az Ubuntu 24.04 példáján ez így néz ki: a PHP 8.3.6-ot jelez. A javított csomagállapot azonban a USN-8948-1 szerint 8.3.6-0ubuntu0.24.04.13. A hátsó rész számít. A Debian a PHP2Shellnél másképp döntött, és a bookwormhoz és a trixie-hez az új upstream verziókat, a 8.2.35-öt és a 8.4.27-et szállította. A kiadásonkénti áttekintés a Debian és Ubuntu: javított a PHP-csomagom? írásban található.
Megéri egyszer felbontani egy ilyen csomagverziót. A 8.3.6-0ubuntu0.24.04.13 példáján: a kötőjel előtti rész az upstream verzió, vagyis amit maga a PHP jelez. Mögötte a disztribúció revíziója következik. Az ubuntu0.24.04 a kiadásra utal, az utolsó szám az átdolgozásokat számolja. Minden biztonsági javítás megnöveli ezt a számot. Az Ubuntu Pro-nál emellett egy +esm5-höz hasonló toldalék jelenik meg, a Debian biztonsági frissítéseinél egy ~deb12u1-hez hasonló. Aki olvasni tudja ezeket a részeket, egy pillantással felismeri, hogy egy csomagot módosítottak-e egy biztonsági közlemény után.
Hol bukkan fel mindenhol a régi szám
A változatlan szám nemcsak a php -v-ben jelenik meg. Olyan helyeken is áll, amelyek kívülről láthatók, vagy amelyeket eszközök értékelnek ki:
| Hely | Mi áll ott | Következmény |
|---|---|---|
php -v és php -i |
upstream verzió, build dátuma | az adminok kételkednek a frissítésben |
| phpinfo-oldal | upstream verzió | ugyanez a hatás a böngészőben |
X-Powered-By fejléc |
upstream verzió, ha az expose_php be van kapcsolva |
külső szkennerek rést jeleznek |
| Tárhelypanelek, mint a Plesk | upstream verzió | kijelzés, például 8.2.34 a javítás ellenére |
| Sebezhetőségi szkennerek | összehasonlítás szám szerint | téves riasztás backportoknál |
A külső szkennerek külön eset. Aki használja őket, a PHP2Shell után esetleg olyan szerverekre kap találatokat, amelyek már rég javítottak. Ne hagyja figyelmen kívül ezeket a találatokat általánosan, hanem minden szerverre igazolja a csomagállapotot, és jegyezze fel a találatot ellenőrzöttként. A verziójelzések kifelé való elrejtésének újabb okát az expose_php és szerverfejlécek írás tartalmazza.
Mikor figyelmeztető jel az azonos szám
Három helyzet van, amelyben a változatlan szám valóban problémára utal:
- A csomagforrás az upstream verziót szállítja. Ha a PHP olyan forrásból érkezik, amely normál esetben az aktuális upstream verziót szállítja, például a Debian a PHP2Shellnél vagy harmadik féltől származó források, mint a Remi és a sury.org, a frissítés után a 8.5.12, 8.4.27, 8.3.36 vagy 8.2.35 verziónak kell megjelennie. Ha ott továbbra is a régi szám áll, a csomagot nem frissítették.
- A rossz telepítést ellenőrzi. A
php -va parancssort mutatja. Ha a weboldal egy másik verzión fut, például egy tárhelypanelből vagy egy Software Collectionből, a kimenet semmit sem mond a weboldalról. - A csomagállapot nem változott. Ha a csomagállapot is ugyanaz, mint a frissítés előtt, a frissítés nem érkezett meg ehhez a csomaghoz, például mert visszatartották, vagy hiányzik a forrás.
Nem szakembereknek ez így foglalható össze: a verziószám a modellt írja le, a csomagállapot a karbantartási állapotot. Két, azonos PHP-verziójú szerver biztonságban jelentősen különbözhet. Ezért ne a verzióról kérdezze az IT-jét vagy a szolgáltatóját, hanem a javítás igazolásáról.
Így tisztázza a kérdést öt perc alatt
A következő parancsok kizárólag olvasnak. A példák Ubuntut vagy Debiant és PHP 8.3-at feltételeznek; RHEL-rendszereken a dpkg-query helyett az rpm -q-t használja.
# 1. Mit jelez maga a PHP, a build dátumával együtt?
php -v
# 2. Melyik csomagállapot van telepítve, melyik forrásból?
apt policy php8.3-fpm
# 3. Tartalmazza a changelog a CVE-számokat?
apt changelog php8.3-fpm 2>/dev/null | grep -E "CVE-2026-10961[89]"
# 4. Mióta futnak a weboldal PHP-folyamatai?
ps -eo pid,lstart,cmd | grep "[p]hp-fpm"
A php -v kimenetében lévő build dátum jelzés, de nem bizonyíték. A megbízható igazolást a changelog-bejegyzés adja. Hogyan találja meg és rögzíti, ha másképp van megfogalmazva vagy hiányzik, azt a CVE-számok igazolása a csomag changelogjában írás írja le.
Minden ellenőrzés után jegyezze fel mindkét számot: a php -v upstream verzióját és a csomagállapotot. Aki később azt kérdezi, miért van a szerveren „még mindig 8.3.6”, így egyértelmű választ kap.
A verzión, a csomagon és a folyamatokon keresztüli általános ellenőrzést a PHP-verzió és javítási állapot helyes ellenőrzése oldal foglalja össze.
Hogyan segít konkrétan a PHP SOS?
- Szerverenként tisztázzuk, hogy egy változatlan verziószám backport-e vagy hiányzó frissítés.
- Értékeljük a sebezhetőségi szkennerek találatait, és a téves riasztásokat csomagállapottal és changelogal igazoljuk.
- Ellenőrizzük, hogy a weboldal tényleg melyik PHP-telepítést használja, és újraindították-e a folyamatait.
- A PHP-javítási szolgáltatásban az upstream verziót és a csomagállapotot egymás mellett dokumentáljuk.
Gyakori kérdések
Javítatlan a szerverem, ha a php -v a régi számot mutatja?
Nem feltétlenül. Sok disztribúció a javításokat backportként veszi át a meglévő verzióba. Az Ubuntu 24.04 például továbbra is 8.3.6-ot mutat, noha a csomag a USN-8948-1 szerint javított. A döntő a csomagállapot és a changelog.
Miért jelez rést a biztonsági szkennerem a frissítés ellenére?
Sok szkenner csak a verziószámot olvassa, például az X-Powered-By fejlécből. Backportoknál ez téves riasztásokhoz vezet. Ellenőrizze a csomagállapotot, és dokumentálja az eredményt, ahelyett hogy egyszerűen figyelmen kívül hagyná a találatot.
Lehet, hogy a php -v új számot mutat, a weboldal viszont nem?
Igen. A php -v a parancssort mutatja. A weboldal futhat egy másik telepítésen vagy olyan folyamatokon keresztül, amelyeket a frissítés előtt indítottak. Ezért ellenőrizze az FPM-szolgáltatást vagy az Apache-ot és azok indítási idejét is.
Segít a build dátuma a php -v kimenetében?
Ez jelzés, de nem bizonyíték. A 2026. október 21. utáni build dátum illik egy javított csomaghoz, de nem bizonyítja, hogy a javítás benne van. A changelog-bejegyzés jobb bizonyíték.