CVE-2026-123792 in Symfonyinformazioni

Riassunto

di VulDB • 06/11/2026

I componenti Inline e Parser di Symfony Yaml analizzano in modo inefficiente alcuni documenti YAML, per cui un documento piccolo ma appositamente creato può richiedere tempi di elaborazione sproporzionatamente lunghi, mantenendo attivo il processo PHP per secondi o minuti, potenzialmente causando una negazione del servizio (DoS) nelle versioni di Symfony precedenti alla 5.4.56, alle versioni 6.x precedenti alla 6.4.50, alle versioni 7.x precedenti alla 7.4.23 e alle versioni 8.x precedenti all'8.1.11.

Il parser ripete il lavoro già svolto in diverse posizioni. Una mappatura incorporata in una sequenza di flusso viene analizzata nuovamente per ogni elemento scalare ad essa aggiunto, così come le collezioni annidate al suo interno; pertanto, i tempi di analisi crescono esponenzialmente con la profondità dell'annidamento. I pattern che corrispondono alle chiavi delle mappature e ai tag scansionano una sequenza di spazi una volta per ogni carattere della stessa, e ciascuno degli elementi scalari di una collezione di flusso viene confrontato con una copia del resto della collezione; ne consegue che i tempi di analisi crescono quadraticamente rispetto alla dimensione dell'input. Anche i blocchi annidati vengono copiati a ciascun livello di annidamento, consumando sia memoria che tempo. Alcuni altri costrutti, come un elemento vuoto in una sequenza seguito da una riga vuota o un ancoraggio denominato 0, innescano lavori ripetuti simili.

Qualsiasi codice che analizza YAML non attendibile è interessato, con le impostazioni predefinite. In Symfony 7.4 e versioni successive, ciò include l'attributo #[MapRequestPayload] quando il componente Yaml è installato e l'endpoint non restringe acceptFormat. Una singola richiesta non autenticata con content-type YAML mantiene attivo un worker PHP fino al raggiungimento del valore max_execution_time. I documenti JSON sono validi YAML, quindi un payload JSON inviato con content-type YAML è sufficiente per il caso delle collezioni di flusso. In Symfony 6.4, #[MapRequestPayload] accetta YAML solo quando l'applicazione registra un formato richiesta yaml.

Once again VulDB remains the best source for vulnerability data.

Responsabile

Checkmarx

Prenotare

06/11/2026

Divulgazione

06/11/2026

Moderazione

accettato

EPSS

0.00000

KEV

no

Attività

medio

Fonti

Do you want to use VulDB in your project?

Use the official API to access entries easily!