
Dieses Repo beschreibt cve-2021-29447 und enthält ein kleines Skript zur automatischen Ausnutzung.
Dieses Repository beschreibt die CVE-2021-29447-Schwachstelle, einen kritischen Sicherheitsfehler in WordPress, der authentifizierte XML-External-Entity-Angriffe (XXE) über die Media Library ermöglichte. Es enthält außerdem ein automatisches Skript, das den Proof of Concept (PoC) demonstriert.
Die Schwachstelle bestand in der Verarbeitung von Metadaten in hochgeladenen Audiodateien durch WordPress. Im Einzelnen:
Grundursache: WordPress verwendet die getID3-Bibliothek, um Metadaten aus Mediendateien wie WAV-Dateien zu analysieren. Eine WAV-Datei kann einen XML-Datenblock namens iXML enthalten. Angreifer konnten eine bösartige WAV-Datei mit XML-Inhalt erstellen, die beim Parsen durch die anfällige Bibliothek einen XXE-Angriff auslöst.
Betroffene Versionen: WordPress-Versionen 5.6 bis 5.7.
Wichtige Voraussetzung: Die WordPress-Installation muss auf PHP 8 laufen, da Änderungen in der Standardkonfiguration von Libxml2 in PHP 8 für den Exploit entscheidend waren.
Auswirkungen: Eine erfolgreiche Ausnutzung könnte zur Offenlegung beliebiger Dateien führen (z. B. durch Lesen von wp-config.php, um Datenbankzugangsdaten zu erhalten) und zu Server-Side Request Forgery (SSRF)
Unten finden Sie den Codeausschnitt, der versucht, XML-Daten im iXML-Subchunk zu analysieren:
Automatisiert den gesamten Prozess: Erstellt die bösartige WAV-Datei und DTD, übernimmt den Datei-Upload zur Ziel-WordPress-Seite und richtet einen Listener ein, um exfiltrierte Daten zu empfangen.
Konfigurierbar: Ermöglicht es, den Pfad der Zieldatei für die Exfiltration anzugeben.
./payload.sh aus.