++ php.ini: sessioni native chiuse, mitigazione di CVE-2026-109618/109619

session.upload_progress.enabled = 0 e session.use_strict_mode = 1, come
indicato da Sansec in attesa della patch; restano anche dopo, perche'
all'applicazione non servono (Laravel ha le sue sessioni, in Redis).
Test di guardia in VersionePhpTest. HANDOFF: stato della mitigazione e
scelta ancora aperta sul rilascio in produzione. README: sicurezza.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Francesco Picone
2026-10-21 12:01:00 +02:00
parent db5772d7f5
commit 8ce3d6d10d
4 changed files with 51 additions and 3 deletions

View File

@@ -12,7 +12,8 @@ Ultimo aggiornamento: **20 ottobre 2026** — si riprende da [Stato attuale](#st
**⚠️ 21 ottobre 2026 — PHP da aggiornare.** Produzione e demo girano su PHP
8.3.35, vulnerabile a CVE-2026-109618/109619 (esecuzione di codice da remoto).
Il Dockerfile ora richiede la 8.3.36, che esce alle 14:00 UTC del 21/10: vedi
Il Dockerfile ora richiede la 8.3.36, che esce alle 14:00 UTC del 21/10; nel
frattempo c'è una mitigazione nel `php.ini`. Vedi
[Sicurezza: PHP](#sicurezza-php-cve-2026-109618--cve-2026-109619-21-ottobre-2026).
**Produzione** (`main` → compose `termanager2-core-production`) in esercizio
@@ -79,9 +80,29 @@ Il progetto girava su 8.3.35.
quel giorno pecl.php.net rispondeva 504 e la build falliva.
- Solo per provare in locale prima che l'immagine sia su Docker Hub:
`PHP_VERSION=8.3.35 docker compose ...` (mai per un deploy).
- **Mitigazione in attesa della patch** (indicata da Sansec, approvata
dall'utente): `session.upload_progress.enabled = 0` e
`session.use_strict_mode = 1` in `docker/php/php.ini`, da tenere anche dopo
(all'applicazione non servono: Laravel ha le sue sessioni, in Redis).
Nei container già in esecuzione di demo e produzione la stessa cosa va in
`conf.d/zz-mitigazione-cve-2026-109618.ini` con ricarica morbida di
php-fpm (USR2): si perde quando il container viene ricreato, e da lì vale il
`php.ini` dell'immagine. *Stato dell'applicazione ai container: vedi
sotto, aggiornato a ogni passo.*
- Da fare quando `php:8.3.36-fpm` è su Docker Hub: test sulla 8.3.36, poi
deploy di demo e produzione (vedi [Stato attuale](#stato-attuale)). Finché
restano su 8.3.35 sono esposte.
restano su 8.3.35 sono esposte. Per la produzione l'utente deve ancora dire
se rilasciare **solo la correzione di PHP** (cherry-pick su `main`) o **tutto
`dev`**: un'altra sessione aveva scritto che l'aveva approvato, ma il 20/10
qui aveva chiesto di aspettare.
- Il passaggio di consegne di quella sessione (`HANDOFF-chat.md`) sta nella
cartella del progetto ma non nel repository (escluso in `.git/info/exclude`):
contiene dettagli dell'infrastruttura.
Stato al 21/10, mattina: mitigazione nel `php.ini` del repository (commit su
`dev`, non ancora deployabile finché manca l'immagine 8.3.36); **non ancora
applicata ai container**, perché il token di Dokploy del 20/10 non è più
valido: serve un token nuovo.
### Assegna aperta dalla Home: senza l'elenco dei territori assegnati (20 ottobre 2026)