CVE-2023-38490
Vulnerabilità XML External Entity (XXE) nel gestore dei dati XML di Kirby
- Pubblicato
- 27 lug 2023
- Aggiornato
- 16 ott 2024
- Assegnazione CNA
- GitHub_M
- Evidenza osservata
- 7 ago 2026
CVSS primario
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:NBasso · prossimi 30 giorni
- Percentile
- 75,8%
- 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
Kirby è un sistema di gestione dei contenuti. Una vulnerabilità nelle versioni precedenti alla 3.5.8.3, 3.6.6.3, 3.7.5.2, 3.8.4.1 e 3.9.6 colpisce esclusivamente i siti Kirby che utilizzano il data handler `Xml` (ad es. `Data::decode($string, 'xml')`) o il metodo `Xml::parse()` nel codice del sito o dei plugin. Il core di Kirby non utilizza nessuno dei metodi interessati. Le External Entity XML (XXE) sono una funzionalità poco usata del linguaggio di markup XML che consente di includere dati da file esterni in una struttura XML. Se il nome del file esterno può essere controllato da un attaccante, questa diventa una vulnerabilità che può essere sfruttata per vari impatti sul sistema, come la divulgazione di dati interni o riservati memorizzati sul server (divulgazione arbitraria di file) o l'esecuzione di richieste di rete per conto del server (server-side request forgery, SSRF). Il metodo `Xml::parse()` di Kirby utilizzava la costante `LIBXML_NOENT` di PHP, che abilitava l'elaborazione delle entità esterne XML durante l'operazione di parsing. Il metodo `Xml::parse()` è usato nel data handler `Xml` (ad es. `Data::decode($string, 'xml')`). Sia il metodo vulnerabile sia il data handler non sono usati nel core di Kirby. Tuttavia, possono essere usati nel codice del sito o dei plugin, ad esempio per analizzare feed RSS o altri file XML. Se questi file provengono da una fonte esterna (ad es. caricati da un utente o recuperati da un URL esterno), gli attaccanti potrebbero includere un'entità esterna nel file XML che verrà poi elaborata durante il processo di parsing. I siti Kirby che non utilizzano il parsing XML nel codice del sito o dei plugin *non* sono interessati. Il problema è stato corretto in Kirby 3.5.8.3, 3.6.6.3, 3.7.5.2, 3.8.4.1 e 3.9.6. In tutte le versioni menzionate, i manutentori hanno rimosso la costante `LIBXML_NOENT` poiché l'elaborazione delle entità esterne esula dallo scopo della logica di parsing. Questo protegge tutti gli usi del metodo dalla vulnerabilità descritta.
Fonti
1Utilizzo 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.