Kort sagt: För att kontrollera PHP-versionen räcker inte php -v. Ni måste veta vilken PHP-version webbservern verkligen använder, om paketet innehåller rättningen, även som backport med gammalt nummer, och om alla processer har startats om efter uppdateringen. PHP2Shell är åtgärdat i 8.5.12, 8.4.27, 8.3.36 och 8.2.35.
Varför versionsnumret ensamt inte räcker
För PHP2Shell finns en tydlig lista över åtgärdade versioner. I praktiken leder ändå tre situationer till felbedömningar:
- Flera installationer: Kommandoraden visar PHP 8.3, men webbplatsen körs via en pool med PHP 8.1.
- Backports: Distributioner och webbhotell för ibland in rättningar i befintliga paket. Då visar till exempel Plesk fortfarande 8.2.34, fast det är patchat.
- Gamla processer: De nya filerna ligger på disken, men de körande workers kommer ännu från tiden före.
För ledning och icke-tekniker hjälper en enkel tumregel: Fråga inte bara ”Vilken PHP-version har vi?” utan ”Är PHP2Shell stängt på alla servrar, och hur ser vi det?”. Ett hållbart svar innehåller tre belägg: version eller backport, paketstatus och tidpunkt för omstarten.
Den tekniska kontrollen har därför tre steg: version, paketstatus, körande processer. Kommandona nedan är rent läsande. Paket- och tjänstnamn skiljer sig mellan distributioner, PHP-källor och hostinggränssnitt; exemplen utgår från PHP 8.3.
Kontrollera PHP-versionen på kommandoraden
php -v # version i kommandoraden
ls /etc/php/ 2>/dev/null # Debian/Ubuntu: installerade grenar
php-fpm8.3 -v # version av FPM-binären (namnet varierar mellan distributioner)
php -i | grep -E "^PHP Version|Server API|Loaded Configuration File"
På RHEL, AlmaLinux eller Rocky heter FPM-binären oftast php-fpm; vid Software Collections eller tredjepartskällor ligger ytterligare versioner i egna sökvägar. Plesk och cPanel levererar egna PHP-installationer som finns vid sidan av system-PHP. Hur ni går tillväga där beskriver vi på sidorna om Plesk och cPanel.
Vilken PHP-version en webbplats använder i webbkontexten ser ni mest tillförlitligt i pool- eller VirtualHost-konfigurationen eller i hostinggränssnittet. En phpinfo-sida visar det också; skapa den bara kortvarigt, med åtkomstskydd och slumpmässigt namn, och radera den genast efteråt.
Vid delat webbhotell har ni oftast ingen åtkomst till kommandoraden. Då visar hostinggränssnittet den inställda PHP-versionen per webbplats. Om en backport har installerats och startats om står dock sällan där. Här är webbhotellets skriftliga bekräftelse den tillförlitliga vägen.
Kontrollera paketstatus och backports
Paketstatusen visar vad er distribution faktiskt har levererat:
# Debian/Ubuntu
apt policy php8.3-fpm
apt changelog php8.3-fpm | grep -i -E "CVE-2026-109618|CVE-2026-109619"
# RHEL, AlmaLinux, Rocky, Fedora
dnf info php-fpm
rpm -q --changelog php-fpm | grep -i -E "CVE-2026-109618|CVE-2026-109619"
Står något av CVE-numren i changeloggen finns backporten i det installerade paketet. Saknas posten är det ännu inget bevis för en sårbarhet: Vissa paketansvariga formulerar changelogs annorlunda. Jämför då paketversionen med säkerhetsmeddelandena från er distribution eller fråga leverantören. En mall för den förfrågan finns under Så frågar ni ert webbhotell om patchstatus.
Viktigt: Kontrollera varje installerat PHP-paket, inte bara det första. På servrar med flera grenar är ofta en patchad och en annan inte.
Körs den nya versionen verkligen?
En uppdatering verkar först när alla PHP-processer har startats om. Jämför starttiden för de körande processerna med tidpunkten för uppdateringen:
ps -o pid,lstart,cmd -C php-fpm8.3 # starttid för FPM-processerna
systemctl status php8.3-fpm # sedan när tjänsten körs
needrestart -r l # Debian/Ubuntu, om installerat: visar föråldrade processer
Ligger starttiden före uppdateringen körs gamla processer fortfarande. Vid Apache med mod_php gäller detsamma för Apache-processerna. Hur ni startar om på rätt sätt beskriver Starta om PHP-FPM och alla workers.
Dokumentera resultatet skriftligt: server, PHP-version, paketversion, CVE i changeloggen ja eller nej, tidpunkt för omstarten. Den anteckningen behöver ni för ledning, försäkringsgivare och en senare spårkontroll.
Placera resultatet
| Fynd | Bedömning |
|---|---|
| Officiell version 8.5.12, 8.4.27, 8.3.36 eller 8.2.35, processer omstartade | PHP2Shell stängt |
| Äldre nummer, CVE-nummer i paketets changelog, processer omstartade | Backport installerad, stängt |
| Äldre nummer, ingen post i changeloggen, ingen bekräftelse | oklart, klarlägg hos leverantören |
| PHP 8.1 eller äldre utan bekräftad backport | öppet, övergångsåtgärder och migrering behövs |
| Processer äldre än uppdateringen | omstart saknas, sårbarheten fortfarande aktiv |
Förblir en server i läget ”oklart” behandlar ni den som en öppen: sätt övergångsåtgärder och följ upp klarläggandet tills ett belägg finns. Den fullständiga versionsöversikten finns under Vilka PHP-versioner berörs?.
Hur hjälper PHP SOS konkret?
Med PHP-patchtjänsten tar vi över kontrollen och intyget:
- Hitta alla installationer, även andra versioner från hostingpaneler, Software Collections eller containrar.
- Bedöma paketstatus: officiell release, backport eller öppet, med belägg ur changeloggen eller från leverantören.
- Kontrollera omstarten, tills ingen process med gammal kod längre körs.
- Ta fram kontrollprotokoll som ni kan använda internt och gentemot tredje part.
Vanliga frågor
Varför visar php -v en annan version än min webbplats?
På många servrar är flera PHP-versioner installerade. Kommandoraden använder en av dem, webbservern eller en FPM-pool en annan. Kontrollera därför den version som faktiskt körs i webbkontexten, till exempel via FPM-binären eller hostinggränssnittet.
Hur känner jag igen en backport?
Vid distributionspaket står rättningen ofta i paketets changelog, ofta med CVE-numret. På Debian och Ubuntu hjälper apt changelog, på RHEL-liknande system rpm -q --changelog. Saknas posten, klarlägg läget hos leverantören.
Kan jag kontrollera PHP-versionen i webbhotellets kundmeny?
Ja, de flesta gränssnitt visar den inställda versionen per webbplats. Om en backport har installerats och startats om ser ni oftast inte där. För det är en skriftlig bekräftelse från webbhotellet den tillförlitliga vägen.