Trafiletto

Symfony chiude 21 falle in un giorno: aggiorna a 8.1.11, 7.4.23, 6.4.50 o 5.4.56

Il 4 novembre 2026 Symfony ha pubblicato 21 avvisi di sicurezza su Serializer, Security, HttpFoundation, Yaml e altri componenti. Ecco a quale versione aggiornare per il tuo ramo e quali falle guardare per prime.

1P Echo · Il cronista
Schermata in stile arcade con l'etichetta ALLERTA SICUREZZA, la scritta 21 FALLE, le versioni 8.1.11 · 7.4.23 · 6.4.50 · 5.4.56 e l'avatar pixel art di Echo
Crediti: Illustrazione: redazione TuttoPHP

Il 4 novembre 2026 Symfony ha pubblicato 21 avvisi di sicurezza in un giorno solo. Le correzioni sono nelle versioni 5.4.56, 6.4.50, 7.4.23 e 8.1.11.

Perché ti riguarda: gli avvisi toccano componenti che quasi ogni progetto carica: Serializer, Security HTTP, HttpFoundation, HttpKernel, Routing e Yaml. Molte falle richiedono una configurazione precisa, ma controllarle una per una ti costa più di un composer update.

A cosa aggiornare

Ramo Stato Aggiorna a
8.1 mantenuto fino a gennaio 2027 8.1.11
8.0 non mantenuto da luglio 2026 8.1.11
7.4 LTS bug fix fino a novembre 2028 7.4.23
6.4 LTS ultimo bug fix; sicurezza fino a novembre 2027 6.4.50
5.4 LTS solo sicurezza, fino a febbraio 2029 5.4.56

Il ramo 7.3 e quelli più vecchi non ricevono correzioni. L’annuncio di 8.1.11 è arrivato il 5 novembre, gli altri tre il 4.

Le falle da guardare per prime

Upload dal Serializer (CVE-2026-118515). Se mappi le richieste su un DTO con una proprietà UploadedFile, per esempio con #[MapRequestPayload], un client poteva far passare per “caricato” un file qualsiasi del server. A seconda di cosa fa l’app con l’upload, quel file può essere esposto o spostato. Il vincolo Assert\File non basta a fermarlo.

Autenticazione X509 (CVE-2026-118513). La correzione di CVE-2026-45063 era incompleta: chi ha un certificato della CA fidata e può influenzarne il CN può entrare come un altro utente. Non sei colpito se usi una userKey per attributo, come SSL_CLIENT_S_DN_Email di Apache. La configurazione nginx documentata da Symfony, invece, è colpita.

Yaml non fidato (GHSA-hwfg-qwvh-2wfx). Un documento minuscolo può tenere occupato un worker PHP fino a max_execution_time. Dalla 7.4 basta un endpoint con #[MapRequestPayload], il componente Yaml installato e acceptFormat non ristretto.

URL generati e proxy (GHSA-wg5q-m2ww-f3c9, GHSA-5mx8-mwrp-5693, GHSA-xg2q-4rrq-657q). Link, redirect e action dei form possono puntare a un host scelto da altri, oppure gli header forwarded possono essere falsificati. Sei a rischio se un proxy sulla stessa macchina parla con l’app in HTTP, se il front controller sta in una sottocartella o se usi private_ranges tra i trusted proxies.

Login programmatici (GHSA-8f57-m8wj-x65w). Security::login() saltava il checkPostAuth() del user checker: un account scaduto, respinto dal form di login, poteva entrare per questa strada.

Tutti gli avvisi

ID Componente Gravità Cosa succede
CVE-2026-118515 Serializer non indicata file del server trattati come upload
GHSA-pxj9-jh84-vhm5 Serializer non indicata data URI aperti come file locali
GHSA-hqp2-7rr8-hf26 Serializer non indicata #[Ignore] aggirabile sugli oggetti annidati
CVE-2026-118513 Security HTTP non indicata X509: accesso come un altro utente
GHSA-8f57-m8wj-x65w Security HTTP non indicata login programmatici senza checkPostAuth()
CVE-2026-118514 HttpFoundation non indicata le richieste HEAD aggirano le regole limitate a GET
GHSA-5mx8-mwrp-5693 HttpFoundation non indicata URL generati verso un host scelto dal client
GHSA-3h27-hjv7-fqjx HttpFoundation non indicata regole sui percorsi del web server aggirabili
GHSA-xg2q-4rrq-657q FrameworkBundle, HttpFoundation non indicata private_ranges si fida di troppi client (dalla 7.2)
GHSA-wg5q-m2ww-f3c9 HttpKernel non indicata i frammenti inline alterano gli URL generati
CVE-2026-118516 Routing non indicata i placeholder dell’host aggirano le regole sul percorso
GHSA-hwfg-qwvh-2wfx Yaml, HttpKernel non indicata un parsing lentissimo blocca un worker
GHSA-cpww-5vpx-72x7 JsonPath non indicata espressioni che bloccano un worker (dalla 7.3)
GHSA-6prc-h956-hxjq Filesystem non indicata percorsi che escono dalla cartella base
GHSA-5jff-8h8q-r5qx Config bassa XXE in XmlUtils::parse()
CVE-2026-118517 HtmlSanitizer bassa allow-list degli host aggirabile
GHSA-q8jq-xrf4-v5j8 HtmlSanitizer bassa srcset non filtrato
GHSA-wm2w-4mgj-vw33 HtmlSanitizer non indicata meta refresh filtrato solo in parte
GHSA-c7hm-wqwp-f9v8 HttpClient non indicata NoPrivateNetworkHttpClient esposto al DNS rebinding
GHSA-gq53-v8w2-gjhj HttpClient non indicata ScopingHttpClient invia credenziali ad altre origini
GHSA-4qpf-57w4-m3wc Validator non indicata il vincolo Ip accetta indirizzi non pubblici

La gravità è quella pubblicata da Symfony negli avvisi. HtmlSanitizer esiste dalla 6.1, quindi il ramo 5.4 non ha quelle falle.

Fonti