# Kif tassiguraw FrankenPHP

> Sigurtà ta' FrankenPHP wara PHP2Shell: ivverifikaw il-verżjoni ta' PHP integrata, ibnu mill-ġdid il-binary jew l-image, erġgħu ibdew il-workers u saħħu l-valuri.

Sors: https://phpsos.de/mt/server/frankenphp/  
Stat: 25/10/2026  
Fornitur: PHP SOS, Għajnuna ta' emerġenza għal PHP u sigurtà tas-server. Għajnuna immedjata fuq WhatsApp: https://wa.me/491736494914?text=Bongu%20PHP%20SOS%2C%20g%C4%A7andna%20b%C5%BConn%20g%C4%A7ajnuna%20bis-server%20tal-PHP%20tag%C4%A7na.%20Kumpanija%3A%20%E2%80%A6%20Websajt%3A%20%E2%80%A6

**Fil-qosor:** FrankenPHP huwa server tal-applikazzjonijiet ibbażat fuq Caddy li jinkorpora lil PHP fil-programm proprju tiegħu. Għas-sigurtà ta' FrankenPHP wara PHP2Shell dan ifisser: ma jgħoddux il-pakketti ta' PHP tad-distribuzzjoni, imma l-verżjoni ta' PHP fil-binary ta' FrankenPHP jew fl-image tal-kontenitur. Ibnu jew niżżlu verżjoni b'PHP irranġat u erġgħu ibdew il-workers kollha.

## Għaliex FrankenPHP jiġi ppatchjat b'mod differenti

F'setups klassiċi d-distribuzzjoni twassal lil PHP bħala pakkett, u aġġornament jibdel il-fajls. FrankenPHP, min-naħa l-oħra, fih lil PHP bħala librerija integrata. Min juża l-binary uffiċjali jew image ta' kontenitur ibbażat fuqu, jirċievi lil PHP magħhom. `apt upgrade` fuq l-host ma jibdel xejn minn dan.

PHP2Shell jinkludi CVE-2026-109618 u CVE-2026-109619, kull waħda b'CVSS v4.0 9,2. Il-proġett PHP jelenka espliċitament lil FrankenPHP fost il-modalitajiet tat-tħaddim affettwati. Irranġati huma PHP 8.5.12, 8.4.27, 8.3.36 u 8.2.35. Id-deċiżiv għalhekk huwa kontra liema verżjoni ta' PHP inbena l-FrankenPHP tagħkom.

## Il-modalità worker u PHP2Shell

FrankenPHP jista' jħaddem applikazzjonijiet fil-modalità worker. Hemm l-applikazzjoni titgħabba darba u mbagħad tittratta ħafna talbiet wara xulxin fl-istess proċess. Dan iġib veloċità, imma jtawwal il-ħajja ta' kull proċess.

CVE-2026-109619 jiddeskrivi stat intern ta' talba li jista' jibqa' wara li l-memorja tiġi meħlusa; talba aktar tard fl-istess worker tista' tużah qabel ma jiġi reset. Fil-modalità worker l-interazzjoni ta' ħafna talbiet f'proċess wieħed hija n-normalità. Din mhijiex raġuni biex tirrinunzjaw għall-modalità worker, imma raġuni ċara biex l-aġġornamenti u r-restarts isiru b'attenzjoni partikolari. Dettalji tekniċi jinsabu f'[CVE-2026-109619](https://phpsos.de/mt/php2shell/cve-2026-109619/).

## Sigurtà ta' FrankenPHP: nivverifikaw il-verżjoni

Iċċekkjaw il-verżjoni integrata ta' PHP direttament fis-sistema li taħdem. Il-kmandi li ġejjin jaqraw biss; l-ismijiet tas-servizzi u tal-kontenituri huma eżempji.

```bash
# Installiertes Binary
frankenphp version

# Im laufenden Container (Containername als Beispiel)
docker exec app frankenphp version
docker exec app php -v

# Welches Image läuft tatsächlich? (Digest zeigt den exakten Stand)
docker inspect --format '{{.Image}} {{.Config.Image}}' app
```

Innotaw il-verżjoni ta' PHP mill-output. Jekk tkun qabel l-istati rranġati, is-sistema hija vulnerabbli. Iċċekkjaw dejjem il-kontenitur li jaħdem, mhux biss l-aħħar image mibnija, għax image ġdida taħdem biss wara li l-kontenituri jiġu sostitwiti.

## Installaw l-aġġornament u erġgħu ibdew il-workers kollha

Kif jidher l-aġġornament jiddependi mill-installazzjoni tagħkom:

- **Binary fuq l-host:** installaw release ġdid ta' FrankenPHP b'verżjoni ta' PHP irranġata, erġgħu ibdew is-servizz.
- **Kontenitur:** ġibu image bażi b'verżjoni ta' PHP irranġata, ibnu mill-ġdid l-image proprja mingħajr cache għas-saff bażi, issostitwixxu l-kontenitur.
- **Ikkompilat minnkom:** ibnu mill-ġdid kontra l-verżjoni ta' PHP irranġata, oħolqu mill-ġdid l-estensjonijiet kollha bl-istess verżjoni.

```bash
# Beispiel Host-Installation als systemd-Dienst
systemctl restart frankenphp

# Beispiel Docker Compose: neu bauen ohne Cache und Container ersetzen
docker compose build --pull --no-cache
docker compose up -d --force-recreate
```

Wara, iċċekkjaw mill-ġdid il-verżjoni ta' PHP fil-kontenitur li jaħdem u l-ħin tal-bidu tal-proċessi. Fil-modalità worker kull worker irid ikun inbeda mill-ġdid. Fil-każ ta' Kubernetes japplikaw passi addizzjonali, deskritti f'[Patching ta' PHP f'Kubernetes](https://phpsos.de/mt/server/kubernetes/), u għall-kontenituri b'mod ġenerali f'[Patching ta' PHP fil-kontenituri Docker](https://phpsos.de/mt/php2shell/docker-container-patchen/).

> **Importanti:**
> Tag bħal `latest` jew verżjoni prinċipali fl-isem tal-image ma jiggarantixxix li għandkom l-aħħar stat. Ġibu l-image bażi attivament mill-ġdid u wara iċċekkjaw il-verżjoni ta' PHP fil-kontenitur li jaħdem.

## Miżuri temporanji u tisħiħ

Jekk l-aġġornament ma jistax isir minnufih, php.net jirrakkomanda miżuri temporanji li ma joffrux protezzjoni sħiħa. F'FrankenPHP tissettjaw il-valuri fil-php.ini li FrankenPHP iġorr, jew permezz tal-issettjar ta' PHP fil-konfigurazzjoni ta' Caddy, mhux b'`ini_set()` fl-applikazzjoni.

```ini
; php.ini im Container oder auf dem Host
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`. Il-limitu tal-memorja jappartjeni fil-livell tal-kontenitur, pereżempju permezz tal-limitu tal-memorja tal-kontenitur, mhux permezz ta' `RLIMIT_AS` jew `RLIMIT_DATA`. Wara kull bidla erġgħu ibdew il-workers kollha.

Għat-tħaddim fit-tul jiswa li tirreferu għal images b'digest fiss, li tibnuhom mill-ġdid regolarment b'mod awtomatiku u li tqiegħdu skaner tal-images fil-katina tal-bini. Patch barra minn hekk ma jneħħix malware li tkun ġiet introdotta qabel. Żommu l-logs mill-20/10/2026 'il quddiem; fil-każ tal-kontenituri dan ifisser li jinżammu qabel ma jiġu sostitwiti.

Min juża FrankenPHP bħala binary mibni b'mod statiku għandu jkun jaf li fih, minbarra PHP, l-estensjonijiet kollha huma integrati fiss. Aġġornament għalhekk dejjem ifisser li tissostitwixxu l-binary kollu. Wara s-sostituzzjoni iċċekkjaw il-verżjoni u l-lista tal-estensjonijiet mgħobbija, biex tivverifikaw jekk kollox għadu disponibbli bħal qabel, u ittestjaw l-applikazzjoni qabel ma tarmu l-istat il-qadim. F'ambjenti tal-kontenituri huwa rakkomandabbli li kull image tiġi mmarkata bid-data tal-bini. B'hekk tistgħu fi kwalunkwe ħin tara liema stat kien jaħdem meta, u fil-każ ta' dubju terġgħu lura b'mod immirat, mingħajr ma terġgħu taqgħu fuq stat vulnerabbli. Żommu l-assenjazzjoni ta' image, verżjoni ta' PHP u mument fid-dokumentazzjoni tagħkom.

## Kif tgħin PHP SOS b'mod konkret?

- Niċċekkjaw liema verżjoni ta' PHP tinsab verament fil-binaries ta' FrankenPHP u fil-kontenituri tagħkom li jaħdmu.
- Permezz tas-[servizz ta' patch ta' PHP](https://phpsos.de/mt/leistungen/php-patch-service/) nibnu mill-ġdid l-images, nissostitwixxu l-kontenituri u nerġgħu nibdew il-workers kollha, bi prova.
- Nissalvaw il-logs qabel is-sostituzzjoni u niċċekkjaw l-applikazzjoni għal traċċi.
- Għat-tħaddim fit-tul inwaqqfu rebuilds awtomatizzati u verifiki tal-images fil-qafas tat-[tisħiħ tas-server](https://phpsos.de/mt/leistungen/server-haertung/).


## Mistoqsijiet frekwenti

**Aġġornament b'apt jew dnf jgħin ma' FrankenPHP?**  
Biss jekk FrankenPHP innifsu jiġi minn dawn is-sorsi tal-pakketti u jkun mibni kontra l-PHP ippatchjat. Spiss PHP huwa inkluż fiss fil-binary ta' FrankenPHP jew fl-image tal-kontenitur. F'dak il-każ trid taġġorna l-binary jew l-image.

**Għaliex il-modalità worker hija partikolarment importanti f'PHP2Shell?**  
Fil-modalità worker l-applikazzjoni tibqa' fil-memorja u tittratta ħafna talbiet wara xulxin fl-istess proċess. CVE-2026-109619 jikkonċerna preċiżament stat intern li jista' jibqa' bejn it-talbiet fl-istess worker. Restart tal-workers kollha wara l-aġġornament huwa għalhekk obbligatorju.

**Kif nivverifika liema verżjoni ta' PHP hemm f'FrankenPHP?**  
Il-binary ta' FrankenPHP, meta jissejjaħ għall-verżjoni, juri l-verżjoni ta' PHP integrata. Fil-kontenitur tistgħu teżegwixxu l-kmand permezz ta' docker exec. Oqogħdu attenti li tivverifikaw il-verżjoni fil-kontenitur li verament qed jaħdem, mhux fl-image li għadu kemm inbena.

**Hemm miżuri temporanji speċifiċi għal FrankenPHP?**  
Japplikaw l-indikazzjonijiet ġenerali ta' php.net. Tissettjaw il-valuri fil-php.ini li FrankenPHP iġorr, jew fil-konfigurazzjoni ta' PHP tal-fajl Caddy, mhux b'ini_set() fl-applikazzjoni. Wara erġgħu ibdew il-workers kollha.

## Sorsi

- [php.net: Avviżi tas-sigurtà](https://www.php.net/)
- [PHP 8 ChangeLog](https://www.php.net/ChangeLog-8.php)
- [OWASP Cheat Sheets](https://cheatsheetseries.owasp.org/)
