CVE-2023-38490
Kirby XML External Entity (XXE)-Schwachstelle im XML-Datenhandler
- Veröffentlicht
- 27.07.2023
- Aktualisiert
- 16.10.2024
- CNA zuweisen
- GitHub_M
- Beweise beobachtet
- 07.08.2026
Primäres CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:NNiedrig · nächste 30 Tage
- Perzentil
- 75,8 %
- Modelldatum
- 21.09.2026
EPSS ist eine statistische Schätzung, keine Gewissheit oder ein Maß für die Auswirkung. Kombinieren Sie es mit CVSS, KEV-Status, Belichtung und Ihrer Umgebung.
Zusammenfassung
Kirby ist ein Content-Management-System. Eine Schwachstelle in Versionen vor 3.5.8.3, 3.6.6.3, 3.7.5.2, 3.8.4.1 und 3.9.6 betrifft nur Kirby-Sites, die den `Xml`-Datenhandler (z. B. `Data::decode($string, 'xml')`) oder die Methode `Xml::parse()` im Site- oder Plugin-Code verwenden. Der Kirby-Core verwendet keine der betroffenen Methoden. XML External Entities (XXE) ist ein wenig genutztes Feature der XML-Auszeichnungssprache, das es ermöglicht, Daten aus externen Dateien in eine XML-Struktur aufzunehmen. Wenn der Name der externen Datei von einem Angreifer kontrolliert werden kann, wird daraus eine Schwachstelle, die für verschiedene systemische Auswirkungen missbraucht werden kann, wie die Offenlegung interner oder vertraulicher Daten, die auf dem Server gespeichert sind (beliebige Dateioffenlegung, Arbitrary File Disclosure) oder die Durchführung von Netzwerkanfragen im Namen des Servers (Server-Side Request Forgery, SSRF). Kirbys Methode `Xml::parse()` verwendete die PHP-Konstante `LIBXML_NOENT`, die die Verarbeitung von XML-External-Entities während des Parsens ermöglichte. Die Methode `Xml::parse()` wird im `Xml`-Datenhandler verwendet (z. B. `Data::decode($string, 'xml')`). Weder die verwundbare Methode noch der Datenhandler werden im Kirby-Core verwendet. Sie können jedoch im Site- oder Plugin-Code verwendet werden, z. B. zum Parsen von RSS-Feeds oder anderen XML-Dateien. Wenn diese Dateien externen Ursprungs sind (z. B. von einem Benutzer hochgeladen oder von einer externen URL abgerufen), können Angreifer möglicherweise eine externe Entity in die XML-Datei aufnehmen, die dann während des Parsing-Prozesses verarbeitet wird. Kirby-Sites, die kein XML-Parsing im Site- oder Plugin-Code verwenden, sind *nicht* betroffen. Das Problem wurde in Kirby 3.5.8.3, 3.6.6.3, 3.7.5.2, 3.8.4.1 und 3.9.6 behoben. In allen genannten Releases haben die Maintainer die Konstante `LIBXML_NOENT` entfernt, da die Verarbeitung externer Entities außerhalb des Anwendungsbereichs der Parsing-Logik liegt. Dies schützt alle Verwendungen der Methode vor der beschriebenen Schwachstelle.
Quellen
1Verantwortungsvoller Umgang
Verwenden Sie Schwachstelleninformationen nur auf Systemen, die Sie besitzen oder zu deren Testen Sie berechtigt sind. Kitploit verlinkt auf öffentliche Forschungsmetadaten und speichert keinen Exploit-Code oder bösartige Payloads.