Fil-qosor: Taħt Windows b'IIS, PHP ġeneralment jaħdem bħala php-cgi.exe permezz ta' FastCGI, modalità tat-tħaddim li PHP2Shell jaffettwa espliċitament. Aġġornament ta' PHP f'IIS jikkonsisti fi tliet passi: insibu l-installazzjonijiet kollha ta' PHP, nissostitwuhom b'verżjoni rranġata u nerġgħu nibdew l-application pools. Ġestjoni tal-pakketti u backports bħal taħt Linux hawnhekk ġeneralment ma jeżistux.
Kif jaħdem PHP taħt IIS
Fuq servers Windows, IIS jorbot lil PHP permezz tal-modulu FastCGI. Għal kull verżjoni ta' PHP hemm daħla FastCGI li tindika php-cgi.exe, u assenjazzjoni ta' handler li twassal hemm il-fajls bit-tmiem .php. IIS jibda, meta jkun hemm bżonn, diversi proċessi php-cgi u jżommhom attivi għal talbiet oħra.
B'differenza minn Linux, hawnhekk PHP ġeneralment ma jiġix minn ġestjoni tal-pakketti, imma bħala arkivju ZIP tal-builds ta' Windows tal-proġett PHP, bħala parti minn applikazzjoni speċjalizzata jew permezz ta' installers eqdem. Dan ifisser: l-aġġornamenti ma jseħħux awtomatikament, u m'hemmx backports ta' distributur. Id-deċiżiv huwa n-numru tal-verżjoni tal-fajls installati.
Xi jfisser PHP2Shell għal servers Windows
PHP2Shell jinkludi CVE-2026-109618 u CVE-2026-109619 f'PHP innifsu, kull waħda b'CVSS v4.0 9,2. It-tnejn jippermettu l-eżekuzzjoni ta' kodiċi mingħajr login. Il-proġett PHP isemmi espliċitament lil php-cgi fost il-modalitajiet tat-tħaddim affettwati. Irranġati huma PHP 8.5.12, 8.4.27, 8.3.36 u 8.2.35.
Għal PHP 8.1 u eqdem m'hemmx aktar aġġornamenti uffiċjali. Servers Windows b'applikazzjonijiet speċjalizzati, mill-esperjenza, spiss jaħdmu fuq stati bħal dawn, għax l-applikazzjoni titlob verżjoni speċifika. Hawnhekk, minbarra l-miżuri temporanji, hija meħtieġa kjarifika mal-manifattur tal-applikazzjoni. L-isfond ta' din il-modalità tat-tħaddim jinsab f'php-cgi: wirt qadim b'riskju.
Aġġornament ta' PHP f'IIS: insibu l-installazzjonijiet
Il-kmandi PowerShell li ġejjin jaqraw biss. Juru liema installazzjonijiet ta' PHP juża IIS u liema verżjoni għandhom. Il-mogħdijiet huma eżempji.
# FastCGI-Einträge in IIS: welche php-cgi.exe wird genutzt?
& "$env:windir\system32\inetsrv\appcmd.exe" list config -section:system.webServer/fastCgi
# Version jeder gefundenen Installation (Pfad als Beispiel)
& "C:\PHP\8.3\php.exe" -v
# Laufende php-cgi-Prozesse mit Startzeit
Get-Process php-cgi -ErrorAction SilentlyContinue | Select-Object Id, StartTime, Path
Fittxu wkoll fuq id-drives kollha għal php-cgi.exe oħrajn, għax l-applikazzjonijiet speċjalizzati xi kultant iġibu kopji proprji. Innotaw għal kull installazzjoni l-verżjoni, il-varjant (Thread Safe jew Non Thread Safe) u l-arkitettura.
Installaw l-aġġornament u erġgħu ibdew l-application pools
Niżżlu l-verżjoni rranġata mill-builds uffiċjali ta' Windows tal-proġett PHP, li huma marbuta minn php.net, bl-istess varjant u arkitettura. Jaħdem tajjeb li tiżplikaw il-verżjoni l-ġdida f'folder ġdid, li tieħdu l-php.ini eżistenti u l-estensjonijiet meħtieġa, u mbagħad li d-daħla FastCGI tinbidel għall-mogħdija l-ġdida. B'hekk l-istat il-qadim jibqa' għal triq lura.
# Anwendungspool recyceln (Name als Beispiel)
Import-Module WebAdministration
Restart-WebAppPool -Name "Intranet"
# Alternativ alle IIS-Dienste neu starten
iisreset
# Kontrolle: alle php-cgi-Prozesse nach dem Update gestartet?
Get-Process php-cgi -ErrorAction SilentlyContinue | Select-Object Id, StartTime, Path
Kull proċess php-cgi irid ikollu ħin tal-bidu wara l-aġġornament u jindika l-mogħdija l-ġdida. Ittestjaw wara l-websajts. Neħħu l-folder il-qadim ta' PHP hekk kif l-istat il-ġdid jaħdem b'mod stabbli, biex ma jerġax jiġi inkluż bi żball.
Fajls ġodda fil-folder ta' PHP mhumiex biżżejjed sakemm proċessi qodma php-cgi jaħdmu. Biss wara r-recycle tal-pools jew restart ta' IIS il-patch huwa effettiv.
Miżuri temporanji fil-php.ini
Jekk installazzjoni ma tistax tiġi aġġornata minnufih, php.net jirrakkomanda miżuri temporanji mingħajr protezzjoni sħiħa. Taħt IIS tissettjaw il-valuri fil-php.ini ċentrali tal-installazzjoni rispettiva. Fajls .user.ini u ini_set() mhumiex biżżejjed skont php.net.
; php.ini der betroffenen Installation
session.upload_progress.enabled = 0
post_max_size = 8M
upload_max_filesize = 6M
Meta jkun hemm funzjoni ta' upload, php.net jissuġġerixxi post_max_size = 32M. Fuq PHP 8.5 jiżdied fatal_error_backtraces=0. Biex il-websajts ma jibdlux il-valuri permezz ta' fajls .user.ini proprji, user_ini.filename fil-php.ini ċentrali jista' jitħalla vojt; iċċekkjaw qabel jekk l-applikazzjonijiet jiddependux minn dan. Wara agħmlu recycle tal-pools. Il-BSI jirrakkomanda li s-servers tal-web jitneħħew temporanjament min-netwerk jekk l-aġġornament ma jistax isir minnufih. Aktar issettjar jispjegah Kif tikkonfiguraw php.ini b'mod sigur.
Wara l-aġġornament
Patch ma jneħħix malware li tkun ġiet introdotta qabel. Żommu l-protokolli ta' IIS mill-20/10/2026 'il quddiem, iċċekkjaw id-direttorji tal-web għal fajls ġodda ta' skripts u kkontrollaw ix-xogħlijiet skedati u l-kontijiet lokali tal-utenti għal xi ħaġa mhux magħrufa. Jekk is-server jaħdem f'dominju, jixraq ukoll li tħarsu lejn l-login.
Oqogħdu attenti wkoll għad-drittijiet tal-identitajiet tal-application pools. Jekk pool jaħdem b'kont li għandu drittijiet ta' kitba fuq id-direttorju kollu tal-web jew saħansitra drittijiet amministrattivi, attakkant wara dħul b'suċċess jista' jagħmel ħafna iktar ħsara. Jagħmel sens identità separata u ristretta għal kull pool b'drittijiet ta' kitba biss fejn l-applikazzjoni verament teħtiġhom, pereżempju fil-folder tal-upload jew tal-cache. F'dawn il-folders IIS m'għandux jesegwixxi fajls ta' PHP; dan jista' jiġi rregolat permezz tal-assenjazzjonijiet tal-handlers tal-folder rispettiv. Iċċekkjaw ukoll jekk fid-direttorju tal-web humiex jinsabu fajls qodma tat-test u tal-installazzjoni bħal outputs ta' phpinfo, u neħħuhom.
Kif tgħin PHP SOS b'mod konkret?
- Insibu l-installazzjonijiet kollha ta' PHP fuq is-servers Windows tagħkom, anke kopji f'applikazzjonijiet speċjalizzati.
- Permezz tas-servizz ta' patch ta' PHP nibdlu lil PHP, nagħmlu recycle tal-pools u niddokumentaw il-verżjoni u l-ħinijiet tal-proċessi.
- Fil-każ ta' verżjonijiet qodma nikkjarifikaw magħkom u mal-manifattur tal-applikazzjoni t-triq lejn il-migrazzjoni għal verżjoni appoġġjata ta' PHP.
- Niċċekkjaw is-servers għal traċċi ta' attakk u nissalvaw il-protokolli.
Mistoqsijiet frekwenti
Liema varjant ta' PHP għandi bżonn għal IIS?
Għal IIS b'FastCGI ġeneralment tintuża l-varjant Non-Thread-Safe (NTS). Fl-aġġornament oqogħdu attenti li terġgħu tagħżlu l-istess varjant u arkitettura, biex l-estensjonijiet ikomplu jaqblu.
Huwa biżżejjed li niftaħ il-folder il-ġdid ta' PHP?
Le. IIS iżomm il-proċessi php-cgi.exe attivi għal xi żmien. Erġgħu ibdew (recycle) l-application pools jew erġgħu ibdew lil IIS u kkontrollaw li ma jibqgħux jaħdmu proċessi qodma.
Nista' inħaddem diversi verżjonijiet ta' PHP fuq IIS wieħed?
Iva, permezz ta' diversi daħliet FastCGI u assenjazzjonijiet ta' handlers għal kull websajt. Dan iżid, madankollu, ix-xogħol ta' manutenzjoni. Kull installazzjoni teħtieġ aġġornament proprju u kontroll proprju.
PHP taħt Windows huwa affettwat minn PHP2Shell?
Il-vulnerabbiltajiet jinsabu f'PHP innifsu. Taħt IIS PHP ġeneralment jaħdem bħala php-cgi, li l-proġett PHP jgħodd espliċitament fost il-modalitajiet tat-tħaddim affettwati. Ittrattaw lis-servers Windows għalhekk bl-istess urġenza bħas-servers Linux.