PHP fissato alla 8.3.36 (CVE-2026-109618, CVE-2026-109619)

- Dockerfile: ARG PHP_VERSION=8.3.36 e FROM php:${PHP_VERSION}-fpm al posto
  del tag mobile php:8.3-fpm, che la cache di Docker poteva risolvere sulla
  8.3.35 vulnerabile. Una build ora prende la versione corretta o fallisce.
- phpredis da GitHub (versione fissata) invece di pecl.php.net, che il
  giorno della patch rispondeva 504 e bloccava la build.
- Test contro il ritorno a un tag mobile o a una versione vulnerabile.
- PHP_VERSION passabile dal compose solo per prove locali.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-21 11:05:13 +02:00
committed by Francesco Picone
parent d3314a9d17
commit eb756ad3b1
4 changed files with 120 additions and 4 deletions

View File

@@ -4,7 +4,37 @@ Stato del progetto per chi ci mette mano dopo. Per installazione, deploy e uso
quotidiano vedi [README.md](README.md); qui c'è il contesto che il README non
può dare: perché le cose sono come sono, e cosa resta aperto.
Ultimo aggiornamento: **12 ottobre 2026** — vedi [Lavori in corso](#lavori-in-corso--12-ottobre-2026-riprendere-da-qui).
Ultimo aggiornamento: **21 ottobre 2026** (rilascio di sicurezza di PHP) — vedi [Sicurezza: PHP](#sicurezza-php-cve-2026-109618--cve-2026-109619-21-ottobre-2026).
> **Questo è l'HANDOFF di `main` (produzione).** Il 21/10/2026 in produzione
> è andata **solo la correzione di PHP**, scelta dell'utente: le funzioni nuove
> di `dev` (gruppi di servizio e lavori del 20 ottobre) restano sulla demo.
> Il quadro completo e aggiornato del progetto è nell'HANDOFF di `dev`, che
> sostituirà questo quando `dev` verrà portato in produzione.
---
## Sicurezza: PHP CVE-2026-109618 / CVE-2026-109619 (21 ottobre 2026)
Due esecuzioni di codice da remoto nel core di PHP (CVSS v4 9.2), patch alle
14:00 UTC del 21/10/2026; versione corretta per il nostro ramo: **8.3.36**.
La produzione girava su 8.3.35. Rilasciati su `main` solo i due commit di
sicurezza di `dev` (cherry-pick):
- `docker/php/Dockerfile`: `ARG PHP_VERSION=8.3.36` e `FROM
php:${PHP_VERSION}-fpm`. Prima era `php:8.3-fpm`, un tag che si sposta ma
che Docker tiene in cache: una ricostruzione senza `--pull` (anche su
Dokploy) poteva riusare la base vulnerabile. Ora una build o prende la
8.3.36 o fallisce. Test `tests/Unit/VersionePhpTest.php` contro il ritorno a
un tag mobile o a una versione inferiore.
- phpredis da GitHub (`ARG PHPREDIS_VERSION=6.3.0`) invece di `pecl install`:
quel giorno pecl.php.net rispondeva 504 e la build falliva.
- `docker/php/php.ini`: `session.upload_progress.enabled = 0` e
`session.use_strict_mode = 1`, la mitigazione indicata da Sansec in attesa
della patch, da tenere anche dopo (l'applicazione usa le sessioni di
Laravel, in Redis).
- Solo per provare in locale prima che l'immagine sia su Docker Hub:
`PHP_VERSION=8.3.35 docker compose ...` (mai per un deploy).
---