Röviden: Hogy a PHP-csomagja Debianon vagy Ubuntun javított-e a PHP2Shell ellen, a pontos csomagállapotról ismeri fel, nem a PHP-verzióról. Az Ubuntu 2026. október 21-én javított csomagokat tett közzé az összes támogatott kiadáshoz, a régebbiekhez az Ubuntu Pro-n keresztül. A Debian a bookwormban a php8.2-t, a trixie-ben a php8.4-et javította. Hasonlítsa össze a telepített állapotot a dpkg --compare-versions paranccsal, majd indítsa újra az összes PHP-szolgáltatást.
A kérdés mögötti kérdés
A „Javított a PHP-csomagom?” igen-nem kérdésnek hangzik. A gyakorlatban a válasz három dologtól függ: melyik forrásból származik a csomag, melyik állapot van telepítve, és ez az állapot futóképes-e is? Ez az írás az első két pontot válaszolja meg a Debian és az Ubuntu hivatalos csomagjaira. Hogyan ellenőrizheti általában a verziót és a futó folyamatokat, azt a PHP-verzió és javítási állapot helyes ellenőrzése oldal tartalmazza.
Az adatokat az Ubuntu hivatalos biztonsági közleményeiből és a Debian Security Trackerből 2026. október 25-én kérdeztük le. Mindkét CVE, a CVE-2026-109618 és a CVE-2026-109619, ugyanazokkal a javított állapotokkal szerepel ott.
Javított csomagállapotok az Ubuntunál
Az Ubuntu a javításokat két közleménnyel tette közzé. A USN-8948-1 az aktuális kiadásokat fedi le, a USN-8948-2 a régebbieket, amelyek már csak az Ubuntu Pro-n keresztül kapnak biztonsági frissítéseket. A 16.04-nél és a 14.04-nél az Ubuntu emellett a Legacy-Support ajánlatot is megnevezi.
| Ubuntu-kiadás | Forráscsomag | Javított állapot |
|---|---|---|
| 26.10 | php8.5 | 8.5.9-0ubuntu2.1 |
| 26.04 LTS | php8.5 | 8.5.4-0ubuntu1.5 |
| 24.04 LTS | php8.3 | 8.3.6-0ubuntu0.24.04.13 |
| 22.04 LTS | php8.1 | 8.1.2-1ubuntu2.28 |
| 20.04 LTS (Ubuntu Pro) | php7.4 | 7.4.3-4ubuntu2.29+esm5 |
| 18.04 LTS (Ubuntu Pro) | php7.2 | 7.2.24-0ubuntu0.18.04.17+esm14 |
Feltűnő, hogy az összes állapot megtartja az eredeti PHP-verziót. Az Ubuntu 24.04 a 8.3.6-nál marad, noha a javítást a 8.3.36-ból vették át. Hogy ez miért van így és hogyan kezelje, azt a Miért mutat a php -v ugyanazt a számot írás magyarázza. Érintettek egyebek mellett az FPM, a CLI, a CGI és az Apache-modul bináris csomagjai, például a php8.3-fpm és a libapache2-mod-php8.3.
Javított csomagállapotok a Debiannál
A Debian itt más utat jár, és az új upstream verziókat szállítja. A Security Tracker szerint az állapot így néz ki:
| Debian-kiadás | Forráscsomag | Előző állapot | Javított állapot | Közlemény |
|---|---|---|---|---|
| 12 bookworm | php8.2 | 8.2.32-1~deb12u1 | 8.2.35-1~deb12u1 | DLA-4848-1 |
| 13 trixie | php8.4 | 8.4.24-1~deb13u1 | 8.4.27-1~deb13u1 | DSA-6574-1 |
| forky, sid | php8.4 | 8.4.27-1 |
A bookwormra vonatkozó közlemény DLA-ként, vagyis a Debian LTS-en keresztül jelent meg. A php8.2-höz az unstable ágban a tracker a lekérdezéskor még nem tüntet fel javított állapotot. Aki unstable ágon üzemeltet tesztrendszereket, tartsa ezt szemmel.
A régebbi Debian-kiadások a két CVE-bejegyzésben a lekérdezéskor nem szerepelnek. Ha egy szerver még ilyen kiadáson fut, például a PHP 7.4-es Debian 11-en, nem hagyatkozhat a hivatalos archívum biztonsági frissítésére. Ilyenkor három út marad: az operációs rendszert egy támogatott kiadásra emelni, egy kereskedelmi hosszú távú ajánlatot használni, amelynek a PHP2Shellre való lefedettségét írásban erősíttesse meg, vagy a szervert a migrációig átmeneti intézkedésekkel biztosítani és az elérhetőségét korlátozni. Hosszú távon csak az első út tartható.
Így hasonlítsa össze pontosan a telepített állapotot
A verziószámra való pillantás nem elég, mert a Debian-verziókat saját szabályok szerint rendezik. A dpkg --compare-versions helyesen hasonlít össze. A következő parancsok kizárólag olvasnak; a csomagneveket és a célállapotot igazítsa a saját kiadásához.
# A csomag telepített állapota és eredete
apt policy php8.3-fpm
# Az összes telepített PHP-csomag verzióval
dpkg-query -W -f='${Package}\t${Version}\n' 'php*' 'libapache2-mod-php*' 2>/dev/null
# Pontos összehasonlítás a javított állapottal (példa: Ubuntu 24.04)
v=$(dpkg-query -W -f='${Version}' php8.3-fpm)
dpkg --compare-versions "$v" ge 8.3.6-0ubuntu0.24.04.13 && echo "korrigiert: $v" || echo "PRÜFEN: $v"
Az apt policy kimenetében figyeljen a csomagforrást tartalmazó sorra. Ha ott nem a disztribúciója biztonsági archívuma áll, hanem például a packages.sury.org vagy egy PPA, a fenti táblázatok nem érvényesek. Akkor ennek a harmadik féltől származó forrásnak az állapota számít, amelyet a A sury.org-tároló írásban tárgyalunk.
Emellett megéri belenézni a mellékelt changelogba. Hogyan találja meg ott a CVE-számokat és rögzítheti igazolásként, azt a CVE-számok igazolása a csomag changelogjában írás írja le.
Tipikus buktatók az ellenőrzésnél
Csak egy csomagot ellenőriztek: A PHP sok bináris csomagból áll. Ha a php8.3-cli aktuális, de a php8.3-fpm nem, a weboldal nyitva marad. Ellenőrizze egy ág összes csomagját, különösen az FPM-et, a CGI-t és az Apache-modult.
Csomag visszatartva: Az apt-mark hold-dal rögzített csomagok a frissítésnél a helyükön maradnak. Az apt-mark showhold megmutatja őket.
Az Ubuntu Pro nem aktív: A 20.04-en és régebbieken a javítások csak akkor érkeznek, ha az Ubuntu Pro be van állítva. Pro nélkül a rendszer a frissítési futás ellenére sebezhető marad.
Elavult tükör: Ha a szerver egy belső tükrön vagy proxyn keresztül tölti le a csomagokat, az új biztonsági frissítéseket csak akkor látja, ha ez frissült. Kétség esetén ellenőrizze, hogy az apt update ténylegesen eléri-e a biztonsági forrást.
Elfelejtett újraindítás: Az új csomagok csak az összes, PHP-t betöltő szolgáltatás újraindítása után hatnak. A needrestart, ha telepítve van, megmutatja az elavult kódú szolgáltatásokat.
Egy javított csomagállapot csak azt igazolja, hogy a rés mostantól be van zárva. Hogy a szervert korábban megtámadták-e, arra nem válaszol. Mentse a naplókat október 20-tól.
Hogyan segít konkrétan a PHP SOS?
- Minden szerverre meghatározzuk az összes PHP-csomag eredetét, és az állapotot összevetjük a hivatalos közleményekkel.
- Telepítjük a frissítéseket, az Ubuntu Pro-n keresztül is, és újraindítjuk az összes érintett szolgáltatást.
- A PHP-javítási szolgáltatással szerverenként igazolást kap csomagállapottal, changelog-találattal és az újraindítás idejével.
- Harmadik féltől származó források vagy régi verziók esetén tisztázzuk, melyik út vezet igazolhatóan javított állapothoz.
Gyakori kérdések
Melyik Ubuntu-verzió tartalmazza a PHP2Shell-javítást?
A USN-8948-1 szerint az Ubuntu 22.04, 24.04, 26.04 és 26.10 rendes frissítéseket kapott. A 14.04, 16.04, 18.04 és 20.04 verziókhoz az Ubuntu a USN-8948-2 szerint az Ubuntu Pro-n keresztül szállítja a javításokat.
Miért mutat az Ubuntu 24.04 továbbra is PHP 8.3.6-ot?
Az Ubuntu a biztonsági javításokat backportként veszi át a meglévő verzióba. Az upstream szám 8.3.6 marad, csak a csomagállapot változik. A USN-8948-1 szerint a javított állapot 8.3.6-0ubuntu0.24.04.13.
Ellátott még a Debian 12 bookworm?
Igen. A Debian Security Tracker szerint a bookworm php8.2 csomagjához van javított állapot, 8.2.35-1~deb12u1, amelyet a Debian LTS keretében DLA-4848-1 néven jelentettek be.
Ez a sury-tárolóból származó PHP-re is érvényes?
Nem. A harmadik féltől származó források, például a sury.org csomagjainak saját verzióállapotuk és saját changelogjuk van. A Debian és az Ubuntu adatai csak azok hivatalos csomagjaira érvényesek.
Elég egy apt upgrade?
Telepíti az új csomagokat, de a futó PHP-FPM- vagy Apache-folyamatok megtartják a régi kódot a memóriában. A javítást csak az összes, PHP-t betöltő szolgáltatás újraindítása teszi hatásossá.