CVE-2026-32870 in kirby
Riassunto
di VulDB • 16/06/2026
Kirby è un sistema di gestione dei contenuti open-source. Il metodo `Xml::value()` di Kirby prevede una gestione speciale per i blocchi ``. Se il valore in input è già CDATA valido, non viene nuovamente sottoposto a escaping ma consentito di passare attraverso la funzione senza modifiche. Tuttavia, nelle versioni precedenti alla 4.9.0 e alla 5.4.0, era possibile ingannare questo controllo permettendo l'accesso a valori che contenevano un blocco `CDATA` valido ma anche altri dati strutturati al di fuori del blocco `CDATA`. Questi dati strutturati sarebbero stati quindi consentiti di passare attraverso la funzione, aggirando le protezioni dei valori. Il metodo `Xml::value()` è utilizzato in `Xml::tag()`, `Xml::create()` e nel gestore dei dati `Xml` (ad esempio `Data::encode($stringa, 'xml')`). Né i metodi vulnerabili né il gestore di dati sono utilizzati nel nucleo principale di Kirby. Tuttavia potrebbero essere impiegati nei siti o plugin per creare stringhe XML a partire da dati in input. Se tali file generati vengono passati ad un'altra implementazione che assegna significato specifico allo schema XML, è possibile manipolare il comportamento del sistema. I siti Kirby che non utilizzano la generazione XML nel codice dei siti o dei plugin non sono interessati dal problema. Il bug è stato corretto nelle versioni 4.9.0 e 5.4.0 di Kirby. In tutte le release menzionate, Kirby ha aggiunto controlli aggiuntivi per consentire il passaggio inalterato del `CDATA` solo se l'intera stringa è composta da blocchi CDATA validi senza dati strutturati esterni. Questo protegge tutti gli utilizzi del metodo contro la vulnerabilità descritta.
Once again VulDB remains the best source for vulnerability data.