Trenutno stanje: PHP2Shell. Dve kritični ranljivosti PHP (CVSS 9,2) omogočata izvedbo škodljive kode brez prijave. Popravki od 21. 10. 2026.Kaj je zdaj treba storiti →

Zakaj php -v po posodobitvi kaže isto številko

Posodobitev je tekla, a php -v javlja staro različico. Večinoma je to backport in ne napaka. Tako ločite neškodljivo od resničnih težav.

Stanje 5 min branjaGostovanje in distribucije

Na kratko: Če php -v po posodobitvi kaže isto različico, je vzrok praviloma backport: distribucija v svojo obstoječo različico PHP prevzame samo varnostni popravek, številka ostane enaka. Ubuntu 24.04 tako še naprej javlja 8.3.6, čeprav je paket proti PHP2Shell popravljen. Vprašanje razjasnite prek stanja paketa in changeloga ter dodatno preverite, ali spletna stran res teče z novo kodo.

Tipičen trenutek po PHP2Shell

Skrbnik je namestil posodobitev, vse brez napak. Za kontrolo vtipka php -v in vidi isto različico kot prej. Posodobitev ni delovala? Je strežnik še odprt? To vprašanje je od 21. oktobra 2026 med najpogostejšimi.

Dobra novica: v večini primerov je vse v redu. Slaba: obstajajo tudi primeri, v katerih ista številka dejansko kaže težavo. Ta prispevek pomaga ločiti oboje.

Zakaj distribucije številke ne spremenijo

Podjetniške distribucije in distribucije LTS obljubljajo stabilnost. Znotraj izdaje naj se vedenje in vmesniki po možnosti ne spreminjajo. Skok s PHP 8.3.6 na 8.3.36 pa bi prinesel številne odprave napak in majhne spremembe vedenja, ki bi lahko motile aplikacije.

Zato mnogi vzdrževalci paketov v svojo obstoječo različico prevzamejo samo konkreten varnostni popravek. Ta postopek se imenuje backport. Različica upstream, ki jo PHP sam javlja prek php -v, ostane enaka. Spremeni se stanje paketa, ki ga dodeli distribucija.

Na primeru Ubuntu 24.04 to izgleda takole: PHP javlja 8.3.6. Popravljeno stanje paketa pa se po USN-8948-1 glasi 8.3.6-0ubuntu0.24.04.13. Šteje zadnji del. Debian se je pri PHP2Shell odločil drugače in je za bookworm in trixie dobavil nove različice upstream 8.2.35 in 8.4.27. Pregled po izdajah je v prispevku Debian in Ubuntu: je moj paket PHP popravljen?.

Splača se tako različico paketa enkrat razstaviti. Na primeru 8.3.6-0ubuntu0.24.04.13: del pred vezajem je različica upstream, torej tisto, kar javlja PHP sam. Za njim sledi revizija distribucije. ubuntu0.24.04 kaže na izdajo, zadnja številka šteje predelave. Vsak varnostni popravek to številko poveča. Pri Ubuntu Pro se pojavi še dodatek, kot je +esm5, pri varnostnih posodobitvah Debiana dodatek, kot je ~deb12u1. Kdor zna brati te dele, na prvi pogled prepozna, ali je bil paket po varnostnem obvestilu spremenjen.

Kje se stara številka vse pojavi

Nespremenjena številka se ne pojavi samo v php -v. Stoji tudi na mestih, ki so vidna od zunaj ali jih ovrednotijo orodja:

Mesto Kaj tam piše Posledica
php -v in php -i različica upstream, datum gradnje skrbniki dvomijo o posodobitvi
stran phpinfo različica upstream enak učinek v brskalniku
glava X-Powered-By različica upstream, če je expose_php vklopljen zunanji skenerji javljajo ranljivost
panel gostovanja, kot je Plesk različica upstream prikaz na primer 8.2.34 kljub popravku
skenerji ranljivosti primerjava po številki lažni alarm pri backportih

Zunanji skenerji so poseben primer. Kdor jih uporablja, po PHP2Shell morda dobi najdbe za strežnike, ki so že zdavnaj popravljeni. Teh najdb ne spregledajte pavšalno, ampak za vsak strežnik dokažite stanje paketa in najdbo označite kot preverjeno. Še en razlog, da podatke o različici skrijete navzven, je v prispevku expose_php in glave strežnika.

Kdaj je ista številka opozorilni znak

Obstajajo tri situacije, v katerih nespremenjena številka dejansko kaže na težavo:

  1. Vir paketov dobavlja različico upstream. Če PHP prihaja iz vira, ki običajno dobavlja aktualno različico upstream, na primer Debian pri PHP2Shell ali viri tretjih ponudnikov, kot sta Remi in sury.org, bi se po posodobitvi moralo pojaviti 8.5.12, 8.4.27, 8.3.36 ali 8.2.35. Če tam še stoji stara številka, paket ni bil posodobljen.
  2. Preverjate napačno namestitev. php -v kaže ukazno vrstico. Če spletna stran teče prek druge različice, na primer iz panela gostovanja ali Software Collection, izpis o spletni strani ne pove nič.
  3. Stanje paketa se ni spremenilo. Če je tudi stanje paketa enako kot pred posodobitvijo, posodobitev za ta paket ni prispela, na primer ker je bil zadržan ali ker vir manjka.

Za netehnike lahko to povzamemo takole: številka različice opisuje model, stanje paketa pa stanje vzdrževanja. Dva strežnika z isto različico PHP se lahko po varnosti bistveno razlikujeta. Zato svojo IT ali izvajalca ne vprašajte po različici, ampak po dokazilu o popravku.

Tako vprašanje razjasnite v petih minutah

Naslednji ukazi so zgolj za branje. Primeri izhajajo iz Ubuntuja ali Debiana in PHP 8.3; na sistemih RHEL uporabite rpm -q namesto dpkg-query.

# 1. Kaj javlja PHP sam, vključno z datumom gradnje?
php -v

# 2. Katero stanje paketa je nameščeno, iz katerega vira?
apt policy php8.3-fpm

# 3. Ali changelog vsebuje številke CVE?
apt changelog php8.3-fpm 2>/dev/null | grep -E "CVE-2026-10961[89]"

# 4. Od kdaj tečejo procesi PHP spletne strani?
ps -eo pid,lstart,cmd | grep "[p]hp-fpm"

Datum gradnje v izpisu php -v je namig, a ne dokaz. Zanesljivo dokazilo je vnos v changelogu. Kako ga najdete in zabeležite, če je drugače oblikovan ali manjka, opisuje prispevek Dokazovanje številk CVE v changelogu paketa.

Nasvet

Po vsakem preverjanju zabeležite obe številki: različico upstream iz php -v in stanje paketa. Kdor pozneje vpraša, zakaj ima strežnik „še 8.3.6“, tako dobi jasen odgovor.

Splošno preverjanje prek različice, paketa in procesov povzema stran Pravilno preverjanje različice PHP in stanja popravkov.

Kako konkretno pomaga PHP SOS?

  • Za vsak strežnik razjasnimo, ali je nespremenjena številka različice backport ali manjkajoča posodobitev.
  • Najdbe skenerjev ranljivosti ovrednotimo in lažne alarme dokažemo s stanjem paketa in changelogom.
  • Preverimo, katero namestitev PHP spletna stran dejansko uporablja in ali so bili njeni procesi znova zagnani.
  • V storitvi popravkov PHP različico upstream in stanje paketa dokumentiramo drugo ob drugi.

Pogosta vprašanja

Ali je moj strežnik nepopravljen, če php -v kaže staro številko?

Ne nujno. Mnoge distribucije popravke prevzamejo kot backport v obstoječo različico. Ubuntu 24.04 na primer še naprej kaže 8.3.6, čeprav je paket po USN-8948-1 popravljen. Odločilna sta stanje paketa in changelog.

Zakaj moj varnostni skener kljub posodobitvi javlja ranljivost?

Mnogi skenerji berejo samo številko različice, na primer iz glave X-Powered-By. Pri backportih to vodi do lažnih alarmov. Preverite stanje paketa in rezultat dokumentirajte, namesto da bi najdbo preprosto spregledali.

Ali je mogoče, da php -v kaže novo številko, spletna stran pa ne?

Da. php -v kaže ukazno vrstico. Spletna stran lahko teče prek druge namestitve ali prek procesov, zagnanih pred posodobitvijo. Zato preverite tudi storitev FPM ali Apache in njun čas zagona.

Ali pomaga datum gradnje v izpisu php -v?

Je namig, a ne dokaz. Datum gradnje po 21. oktobru 2026 ustreza popravljenemu paketu, vendar ne dokazuje, da je popravek vsebovan. Boljše dokazilo je vnos v changelogu.

Viri

Takojšnji stik

Vsaka ura šteje. Pišite nam zdaj.

Na kratko opišite sistem, različico PHP in opažanje. Odzovemo se, razjasnimo stanje in delamo na daljavo, dokler incident ni zaključen in dokumentiran.

Takojšnja pomoč