CVE-2023-38490
Vulnérabilité XML External Entity (XXE) dans le gestionnaire de données XML
- Publié
- 27 juil. 2023
- Mise à jour
- 16 oct. 2024
- Attribution de CNA
- GitHub_M
- Preuve observée
- 7 août 2026
CVSS primaire
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:NFaible · 30 prochains jours
- Percentile
- 75,8 %
- Date du modèle
- 21 sept. 2026
EPSS est une estimation statistique, et non une certitude ou une mesure d'impact. Combinez-le avec CVSS, le statut KEV, l'exposition et votre environnement.
Résumé
Kirby est un système de gestion de contenu. Une vulnérabilité dans les versions antérieures à 3.5.8.3, 3.6.6.3, 3.7.5.2, 3.8.4.1 et 3.9.6 n'affecte que les sites Kirby qui utilisent le gestionnaire de données `Xml` (par exemple `Data::decode($string, 'xml')`) ou la méthode `Xml::parse()` dans le code du site ou des plugins. Le noyau de Kirby n'utilise aucune des méthodes concernées. Les entités externes XML (XXE) sont une fonctionnalité peu utilisée du langage de balisage XML qui permet d'inclure des données de fichiers externes dans une structure XML. Si le nom du fichier externe peut être contrôlé par un attaquant, cela devient une vulnérabilité qui peut être exploitée pour divers impacts système, comme la divulgation de données internes ou confidentielles stockées sur le serveur (divulgation arbitraire de fichiers) ou l'exécution de requêtes réseau au nom du serveur (server-side request forgery, SSRF). La méthode `Xml::parse()` de Kirby utilisait la constante `LIBXML_NOENT` de PHP, ce qui permettait le traitement des entités externes XML pendant l'opération d'analyse. La méthode `Xml::parse()` est utilisée dans le gestionnaire de données `Xml` (par exemple `Data::decode($string, 'xml')`). Ni la méthode vulnérable ni le gestionnaire de données ne sont utilisés dans le noyau de Kirby. Cependant, ils peuvent être utilisés dans le code du site ou des plugins, par exemple pour analyser des flux RSS ou d'autres fichiers XML. Si ces fichiers sont d'origine externe (par exemple téléchargés par un utilisateur ou récupérés depuis une URL externe), les attaquants peuvent être en mesure d'inclure une entité externe dans le fichier XML qui sera ensuite traitée lors du processus d'analyse. Les sites Kirby qui n'utilisent pas l'analyse XML dans le code du site ou des plugins ne sont *pas* affectés. Le problème a été corrigé dans Kirby 3.5.8.3, 3.6.6.3, 3.7.5.2, 3.8.4.1 et 3.9.6. Dans toutes les versions mentionnées, les mainteneurs ont supprimé la constante `LIBXML_NOENT`, car le traitement des entités externes sort du cadre de la logique d'analyse. Cela protège toutes les utilisations de la méthode contre la vulnérabilité décrite.
Sources
1Utilisation responsable
Utilisez les informations de vulnérabilité uniquement sur les systèmes que vous possédez ou que vous êtes autorisé à tester. Kitploit renvoie aux métadonnées de la recherche publique et ne stocke pas de code d'exploitation ni de charges utiles malveillantes.