CVE-2026-109618
Memóriahiány esetén a kérés feldolgozása hibás belső állapotot hagyhat maga után. A kérés lezárásakor ez kódfuttatáshoz vezethet. [2]
PHP2SHELL, ÉRTHETŐEN.
A PHP2Shell hibái lehetővé tehetik, hogy egy támadó bejelentkezés nélkül kódot futtasson a webszerveren. A biztonsági frissítések már elérhetők.
Weboldal-tulajdonosoknak és üzemeltetőknek. Elsődleges források alapján.
$ php --version
A JAVÍTÁS ELÉRHETŐ
Két kritikus hiba a weboldalakat kiszolgáló PHP-ban.
A kockázat a weboldal alkalmazáskódja alatt jelentkezik.
A PHP2Shell két, memóriakezeléshez kapcsolódó PHP-sérülékenység közös elnevezése. Sikeres kihasználásukkal a támadó a PHP-folyamat jogosultságaival futtathat kódot. A Wiz kutatói érzékeny folyamatmemória kiolvasását is bemutatták; így például tokenek és API-kulcsok is veszélybe kerülhetnek. [8]
A tényleges kihasználhatóság a futtatási módtól és a konfigurációtól is függ. A PHP csapata az Apache mod_php használatánál jelzi a legnagyobb kockázatot; a PHP-FPM használata sem indokolja a frissítés elhagyását. [1]
Memóriahiány esetén a kérés feldolgozása hibás belső állapotot hagyhat maga után. A kérés lezárásakor ez kódfuttatáshoz vezethet. [2]
Egy feldolgozófolyamat már felszabadított memóriára hivatkozhat egy későbbi kérésnél. A hibás hozzáférés szintén kódfuttatást tehet lehetővé. [3]
WordPress, Drupal, Joomla vagy egyedi PHP-alkalmazás: a futtatókörnyezet javítottsága számít. Az alkalmazás frissítése önmagában nem javítja a PHP-t.
CMS és webáruházA kiszolgáló PHP-ját is frissíteni kell.
Egyedi alkalmazásA saját kód sem zárja ki az érintettséget.
Tárhely és saját szerverA javítást a szolgáltató vagy az üzemeltető telepíti.
| PHP-ág | Javítás előtti verziók | Első javított kiadás | Teendő |
|---|---|---|---|
| PHP 8.5 | 8.5.0 – 8.5.11 | ✓ 8.5.12 | Frissítés a javított kiadásra |
| PHP 8.4 | 8.4.0 – 8.4.26 | ✓ 8.4.27 | Frissítés a javított kiadásra |
| PHP 8.3 | 8.3.0 – 8.3.35 | ✓ 8.3.36 | Frissítés a javított kiadásra |
| PHP 8.2 | 8.2.0 – 8.2.34 | ✓ 8.2.35 | Frissítés a javított kiadásra |
| PHP 8.1 és régebbi | Nem támogatott upstream ágak | Szolgáltatói javítás ellenőrzése | Frissítés támogatott ágra, vagy igazolt LTS-javítás |
Az első javított kiadások a PHP hivatalos közleménye alapján. [1]
WordPress Eszközök → Webhely-egészség → Információ → Szerver → PHP-verzió. [5]
cPanel MultiPHP Manager: nézd meg az adott domainhez kiválasztott ágat, majd kérd el a szolgáltatótól a teljes csomagverziót és a javítás igazolását. Az ea-php83 név önmagában csak az ágat azonosítja. [6]
Saját szerver A php -v a parancssori PHP-t mutatja. Ellenőrizd külön a webes futtatókörnyezetet és az összes FPM-poolt, konténert, illetve kiszolgálót is.
Válaszd ki, melyik szerep illik rád, és haladj végig a teendőkön.
A teljes verziószámot keresd; a „PHP 8.3” vagy „PHP 8.4” felirat nem elég a javítás megállapításához.
Kérdezz rá mindkét CVE-re, a telepített javításra és a PHP-folyamatok újraindítására. Ha nincs javított kiadás a panelen, a szolgáltatónak kell intézkednie.
Legyen friss biztonsági mentésed. Teszteld a bejelentkezést, űrlapokat és vásárlást; PHP-ág váltásakor a bővítmények kompatibilitását is. [5]
Jegyezd fel a verziót és a frissítés idejét. Gyanús fájl, ismeretlen adminisztrátor vagy rendellenes működés esetén kezdeményezz külön incidensvizsgálatot.
Internet felől elérhető rendszerek, háttérkiszolgálók, konténerek, FPM-poolok és párhuzamos PHP-ágak: mindegyiknél ellenőrizd a csomag eredetét és javítottságát.
A csomag frissítése után a régi worker még a memóriában maradhat. Indítsd újra az érintett FPM-szolgáltatást vagy az Apache-ot, majd ellenőrizd a ténylegesen futó verziót. [4]
Végezz működési próbát, ellenőrizd a példányok konzisztenciáját és őrizd meg a releváns naplókat. A javítás nem távolít el egy korábban esetleg elhelyezett támadói hozzáférést.
php -vA webkiszolgáló külön PHP-verziót használhat. Ellenőrizd a teljes gyártói csomagverziót is.
Az átmeneti beállítások csak egyes támadási utakat korlátoznak. A PHP szerint nincs teljes értékű kerülőmegoldás. Ha nem biztosítható a javítás, mérlegeld az érintett szolgáltatás hozzáférésének ideiglenes korlátozását. [1]
A hivatalos közlemény többek között az session.upload_progress.enabled=0 beállítást és az összes worker újraindítását említi. PHP 8.5 esetén a fatal_error_backtraces=0 is csökkenthet egy ismert támadási útvonalat. Ezek nem fednek le minden változatot. [3]
A memory_limit=-1 egy ismert útvonal kockázatát csökkentheti, de nem teljes javítás, és korlátlan PHP-memóriahasználatot enged. Csak megfelelő külső erőforráskorláttal és a hivatalos útmutató szerint mérlegelhető; ne állítsd át általános receptként. [2]
Három gyakori szerverkörnyezethez: Ubuntu Server 24.04 LTS, Debian 13 és RHEL 9. Válaszd ki a rendszeredet, majd haladj a leltártól a webes záróellenőrzésig.
Legyen visszaállítható adatbázis-, alkalmazás- és konfigurációmentésed, valamint működő adminisztrátori hozzáférésed. Több kiszolgálót egyenként kezelj. A csomagok telepítése és a folyamatok újraindítása rövid kiesést okozhat.
A parancsok a szerveren, Bash alatt futtatandó minták, sudo-jogosultsággal. Rootként a sudo elhagyható. Nem távoli ellenőrzőszolgáltatás: az oldal nem csatlakozik a szerveredhez.
A példák Bash-munkamenethez készültek. A php -v csak a CLI-t mutatja; ha nincs CLI telepítve, az önmagában nem hiba. A leltárban minden webes PHP-példányt, tárolót és visszatartott csomagot azonosíts.
cat /etc/os-release
php -v
dpkg-query -W -f='${binary:Package}\t${Version}\t${db:Status-Status}\n' 'php[0-9]*' 'libapache2-mod-php[0-9]*' 2>/dev/null
apt-mark showhold
systemctl list-units --type=service --all 'php*-fpm.service' 'apache2.service' 'nginx.service'A következő blokk csak a telepített PHP 8.3 csomagokat gyűjti össze, majd próbafuttatást végez. Az apt-cache policy kimenetében ellenőrizd az Installed/Candidate verziót és a csomag forrását. Hibás indexletöltés, hiányzó javítás vagy függőségi hiba esetén előbb azt rendezd. [14]
php83_packages=()
if sudo apt-get update --error-on=any; then
mapfile -t php83_packages < <(
dpkg-query -W -f='${binary:Package} ${db:Status-Status}\n' \
'php8.3*' 'libapache2-mod-php8.3*' 2>/dev/null |
awk '$2 == "installed" {print $1}'
)
if ((${#php83_packages[@]})); then
apt-cache policy "${php83_packages[@]}"
sudo apt-get --simulate install --only-upgrade --no-remove "${php83_packages[@]}"
else
printf 'Nem találtam telepített PHP 8.3 csomagot. Ellenőrizd a PHP forrását.\n'
fi
fiUgyanabban a Bash-munkamenetben, az elfogadható próbafuttatás után futtasd. A parancs jóváhagyást kér, és nem végez PHP-ágváltást. A csomagkezelő már a telepítés során is újraindíthat szolgáltatásokat.
if ((${#php83_packages[@]})); then
sudo apt-get install --only-upgrade --no-remove "${php83_packages[@]}"
else
printf 'Előbb végezd el a csomaglista és a tárolók ellenőrzését.\n'
fiCsak a használt kiszolgálási módhoz tartozó blokkot válaszd. PHP-FPM esetén az FPM-et indítsd újra; Apache mod_php esetén az Apache-ot. Több PHP-ág és pool esetén mindegyiket kezeld. Az Nginx újraindítása önmagában nem cseréli le az FPM-folyamatokat.
sudo php-fpm8.3 -t &&
sudo systemctl restart php8.3-fpm &&
systemctl is-active php8.3-fpm
sudo systemctl show php8.3-fpm -p MainPID -p ActiveEnterTimestamp
sudo journalctl -u php8.3-fpm --since '-15 min' --no-pagersudo apache2ctl configtest &&
sudo systemctl restart apache2 &&
systemctl is-active apache2
sudo journalctl -u apache2 --since '-15 min' --no-pagerA kiadás gyártói csomagjainál az első javított verzió 8.3.6-0ubuntu0.24.04.13. A küszöbvizsgálat csak a megfelelő kiadáshoz és csomagforráshoz érvényes; nem teljes sérülékenységvizsgálat. Minden érintett bináris csomag legyen javított, majd végezd el az alábbi webes záróellenőrzést. [10]
dpkg-query -W -f='${binary:Package}\t${Version}\t${db:Status-Status}\n' \
'php8.3*' 'libapache2-mod-php8.3*' 2>/dev/null
apt-cache policy php8.3-common
dpkg --compare-versions "$(dpkg-query -W -f='${Version}' php8.3-common)" \
ge '8.3.6-0ubuntu0.24.04.13' &&
printf 'A csomagverzió eléri a megadott küszöböt; a csomageredetet és a webes futtatókörnyezetet még ellenőrizni kell.\n'A példák Bash-munkamenethez készültek. A php -v csak a CLI-t mutatja; ha nincs CLI telepítve, az önmagában nem hiba. A leltárban minden webes PHP-példányt, tárolót és visszatartott csomagot azonosíts.
cat /etc/os-release
php -v
dpkg-query -W -f='${binary:Package}\t${Version}\t${db:Status-Status}\n' 'php[0-9]*' 'libapache2-mod-php[0-9]*' 2>/dev/null
apt-mark showhold
systemctl list-units --type=service --all 'php*-fpm.service' 'apache2.service' 'nginx.service'A következő blokk csak a telepített PHP 8.4 csomagokat gyűjti össze, majd próbafuttatást végez. Az apt-cache policy kimenetében ellenőrizd az Installed/Candidate verziót és a csomag forrását. Hibás indexletöltés, hiányzó javítás vagy függőségi hiba esetén előbb azt rendezd. [14]
php84_packages=()
if sudo apt-get update --error-on=any; then
mapfile -t php84_packages < <(
dpkg-query -W -f='${binary:Package} ${db:Status-Status}\n' \
'php8.4*' 'libapache2-mod-php8.4*' 2>/dev/null |
awk '$2 == "installed" {print $1}'
)
if ((${#php84_packages[@]})); then
apt-cache policy "${php84_packages[@]}"
sudo apt-get --simulate install --only-upgrade --no-remove "${php84_packages[@]}"
else
printf 'Nem találtam telepített PHP 8.4 csomagot. Ellenőrizd a PHP forrását.\n'
fi
fiUgyanabban a Bash-munkamenetben, az elfogadható próbafuttatás után futtasd. A parancs jóváhagyást kér, és nem végez PHP-ágváltást. A csomagkezelő már a telepítés során is újraindíthat szolgáltatásokat.
if ((${#php84_packages[@]})); then
sudo apt-get install --only-upgrade --no-remove "${php84_packages[@]}"
else
printf 'Előbb végezd el a csomaglista és a tárolók ellenőrzését.\n'
fiCsak a használt kiszolgálási módhoz tartozó blokkot válaszd. PHP-FPM esetén az FPM-et indítsd újra; Apache mod_php esetén az Apache-ot. Több PHP-ág és pool esetén mindegyiket kezeld. Az Nginx újraindítása önmagában nem cseréli le az FPM-folyamatokat.
sudo php-fpm8.4 -t &&
sudo systemctl restart php8.4-fpm &&
systemctl is-active php8.4-fpm
sudo systemctl show php8.4-fpm -p MainPID -p ActiveEnterTimestamp
sudo journalctl -u php8.4-fpm --since '-15 min' --no-pagersudo apache2ctl configtest &&
sudo systemctl restart apache2 &&
systemctl is-active apache2
sudo journalctl -u apache2 --since '-15 min' --no-pagerA kiadás gyártói csomagjainál az első javított verzió 8.4.27-1~deb13u1. A küszöbvizsgálat csak a megfelelő kiadáshoz és csomagforráshoz érvényes; nem teljes sérülékenységvizsgálat. Minden érintett bináris csomag legyen javított, majd végezd el az alábbi webes záróellenőrzést. [11][12]
dpkg-query -W -f='${binary:Package}\t${Version}\t${db:Status-Status}\n' \
'php8.4*' 'libapache2-mod-php8.4*' 2>/dev/null
apt-cache policy php8.4-common
dpkg --compare-versions "$(dpkg-query -W -f='${Version}' php8.4-common)" \
ge '8.4.27-1~deb13u1' &&
printf 'A csomagverzió eléri a megadott küszöböt; a csomageredetet és a webes futtatókörnyezetet még ellenőrizni kell.\n'RHEL 9-en a PHP több AppStream-változatból érkezhet. Az aktuális streamhez és a használt RHEL/EUS kiadáshoz tartozó javítást keresd.
cat /etc/os-release
php -v
rpm -qa --qf '%{NAME}\t%{VERSION}-%{RELEASE}.%{ARCH}\n' 'php*'
sudo dnf repolist --enabled
sudo dnf module list php --enabled
systemctl list-units --type=service --all 'php*-fpm.service' 'httpd.service' 'nginx.service'A két lekérdezést külön értékeld. Az üres kimenet nem bizonyítja a védettséget: hiányzó vagy elavult tárolómetaadat is okozhatja. A gyártói errata csomaglistáját is hasonlítsd a telepített csomagokhoz. [13][15]
sudo dnf --refresh updateinfo info --all --cve=CVE-2026-109618
sudo dnf --refresh updateinfo info --all --cve=CVE-2026-109619
sudo dnf upgrade --refresh --assumeno 'php' 'php-*'Ellenőrzött tranzakció után telepíts. Ne válts streamet pusztán a verziószám növeléséért, és ne kerüld meg az aláírás-ellenőrzést vagy a függőségi hibákat.
sudo dnf upgrade --refresh 'php' 'php-*'Csak a használt mód blokkja szükséges. A szokásos PHP-FPM szolgáltatás neve php-fpm. Egyedi vagy párhuzamos telepítésnél a leltárban talált szolgáltatásnevet és binárist használd.
sudo php-fpm -t &&
sudo systemctl restart php-fpm &&
systemctl is-active php-fpm
sudo systemctl show php-fpm -p MainPID -p ActiveEnterTimestamp
sudo journalctl -u php-fpm --since '-15 min' --no-pagersudo httpd -t &&
sudo systemctl restart httpd &&
systemctl is-active httpd
sudo journalctl -u httpd --since '-15 min' --no-pagerAz RHSA-2026:87151 egyik javított csomagja a php-common-8.0.30-8.el9_8.1. Ez nem univerzális küszöb minden RHEL 9-streamre: a saját ágad erratájának teljes verzióját, kiadását és architektúráját használd. Az --installed lekérdezés a metaadatok alapján segít igazolni a javítást; a teljes csomaglista és a webes ellenőrzés is szükséges. [13][15]
rpm -qa --qf '%{NAME}\t%{VERSION}-%{RELEASE}.%{ARCH}\n' 'php*'
sudo dnf updateinfo list --installed --cve=CVE-2026-109618
sudo dnf updateinfo list --installed --cve=CVE-2026-109619Ha nincs beépített diagnosztika, az alkalmazás megfelelő webgyökerében, előre korlátozott hozzáférésű útvonalon rövid időre elhelyezhető az alábbi fájl. A megfelelő domainen és backend felé kérd le, majd töröld. Ne hagyj nyilvános phpinfo() oldalt.
<?php
header('Content-Type: text/plain; charset=utf-8');
echo 'PHP_VERSION=' . PHP_VERSION . "
";
echo 'PHP_SAPI=' . PHP_SAPI . "
";A PHP_SAPI például fpm-fcgi vagy apache2handler lehet. A kapott verziót rendeld a leltárban azonosított csomaghoz; backport esetén a rövid PHP_VERSION önmagában nem bizonyítja és nem is cáfolja a javítottságot.
Gyártói közlemények ellenőrizve: · A példák szerkesztett üzemeltetési minták; éles szervereken itt nem futtattuk őket.
A legfontosabb tudnivalók röviden, technikai túlzások nélkül.
Nézd meg a forrásokatEz a PHP 8.3-as ágát jelöli, a pontos javítási szintet nem. A cPanelben nézd meg a domain beállítását, és a szolgáltatótól kérj teljes csomagverziót, illetve megerősítést mindkét CVE javításáról. [6]
Nem. A javítás a sérülékenységet szünteti meg. Korábbi behatolás gyanúja esetén külön vizsgálat szükséges: naplók, módosított fájlok, jogosultságok és hozzáférések ellenőrzésével.
A PHP javítása a kiszolgáló üzemeltetőjének feladata. Kizárólag HTML/CSS/JavaScript fájlokat kiszolgáló, PHP-t nem futtató környezetet ez a PHP-hiba nem érint közvetlenül. A háttérben működő más szolgáltatásokat külön kell ellenőrizni.
Állapot:
Statikus összefoglaló, nem frissül automatikusan.
A javítás legyen minden érintett kiszolgálón telepítve.