CVE-2026-33532
yaml è vulnerabile a Stack Overflow tramite collezioni YAML profondamente annidate
- Pubblicato
- 26 mar 2026
- Aggiornato
- 30 mar 2026
- Assegnazione CNA
- GitHub_M
- Evidenza osservata
- 25 ago 2026
CVSS primario
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:LBasso · prossimi 30 giorni
- Percentile
- 39,7%
- Data del modello
- 21 set 2026
L'EPSS è una stima statistica, non una certezza o una misura di impatto. Combinalo con CVSS, stato KEV, esposizione e ambiente.
Riepilogo
`yaml` è un parser e serializzatore YAML per JavaScript. L'analisi di un documento YAML con una versione di `yaml` sul ramo 1.x precedente alla 1.10.3 o sul ramo 2.x precedente alla 2.8.3 può generare un `RangeError` a causa di un overflow dello stack. La fase di risoluzione/composizione dei nodi utilizza chiamate di funzione ricorsive senza un limite di profondità. Un attaccante che può fornire YAML per l'analisi può innescare un `RangeError: Maximum call stack size exceeded` con un payload ridotto (~2–10 KB). Il `RangeError` non è un `YAMLParseError`, quindi le applicazioni che catturano solo errori specifici di YAML incontreranno un tipo di eccezione inaspettato. A seconda della gestione delle eccezioni dell'applicazione host, ciò può far fallire le richieste o terminare il processo Node.js. Le sequenze di flusso consentono annidamenti profondi con pochi byte (2 byte per livello: una `[` e una `]`). Con lo stack predefinito di Node.js, circa 1.000–5.000 livelli di annidamento (input da 2–10 KB) esauriscono lo stack di chiamate. La soglia esatta dipende dall'ambiente (versione di Node.js, dimensione dello stack, profondità dello stack di chiamate al momento dell'invocazione). Nota: il `Parser` della libreria (fase CST) utilizza un approccio iterativo basato su stack e non è interessato. Solo la fase di composizione/risoluzione utilizza la ricorsione effettiva dello stack di chiamate. Tutte e tre le API pubbliche di parsing sono interessate: `YAML.parse()`, `YAML.parseDocument()` e `YAML.parseAllDocuments()`. Le versioni 1.10.3 e 2.8.3 contengono una patch.
Fonti
1Repository dedicato a CVE-2026-33532, che fornisce analisi e potenziale proof-of-concept per una vulnerabilità web.
Utilizzo responsabile
Utilizza le informazioni sulla vulnerabilità solo sui sistemi che possiedi o che sei autorizzato a testare. Kitploit si collega ai metadati della ricerca pubblica e non memorizza codici exploit o payload dannosi.