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.

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
- Symfony blog: archivio di novembre 2026 (21 avvisi di sicurezza) · fonte primaria
- Symfony Releases: stato dei rami · fonte primaria
- Symfony 8.1.11 released · fonte primaria
- Symfony 7.4.23 released · fonte primaria
- Symfony 6.4.50 released · fonte primaria
- Symfony 5.4.56 released · fonte primaria
- CVE-2026-118515: The Serializer Builds UploadedFile Objects From Request Data · fonte primaria
- CVE-2026-118513: X509 Authenticators Split DN Values on Escaped Commas and Bare Slashes · fonte primaria
- GHSA-hwfg-qwvh-2wfx: Exponential and Quadratic Parse Times in the YAML Parser · fonte primaria
- GHSA-wg5q-m2ww-f3c9: Inline Fragments Let Untrusted Forwarded Headers Change the URLs · fonte primaria
- GHSA-5mx8-mwrp-5693: Generated URLs Can Point to a Host Chosen by the Client · fonte primaria
- GHSA-8f57-m8wj-x65w: Programmatic Logins Skip the checkPostAuth() Method of User Checkers · fonte primaria