
Proof-of-Concept-Exploit für CVE-2023-33404: authentifizierte Datei-Upload-Schwachstelle in BlogEngine.NET CMS 3.3.8.0 und früheren Versionen, die eine Remote-Code-Ausführung über einen hartcodierten Upload-Pfad ermöglicht.
Ein Benutzer, der EditOwnPosts-Rechte auf dem BlogEngine.NET CMS (Version 3.3.8.0 und früher) besitzt, hat die Möglichkeit, eine bösartige Datei an einen hartcodierten Speicherort hochzuladen.
Ein POST-Request an den Endpunkt /api/upload mit den Parametern "action=video", wie im Screenshot unten gezeigt, löst einen Datei-Upload-Prozess aus.

Die Anwendung prüft zunächst, ob der Benutzer EditOwnPosts-Rechte hat, um mit dem Video-Upload fortzufahren, andernfalls gibt die Anwendung einen Fehler aus.
Wie im folgenden Screenshot dargestellt, legt die Anwendung in den Zeilen 101 und 105 einen hartcodierten Speicherort für hochzuladende Dateien fest. Danach ruft sie eine Funktion namens UploadVideo (in Zeile 107) auf.

Die Funktion UploadVideo prüft, ob das Zielverzeichnis existiert, erstellt es, falls nicht, und speichert die Datei in das Verzeichnis.

Wie im folgenden Screenshot dargestellt, verschiebt es die bösartige Datei in das hartcodierte Verzeichnis. Das Anfordern der hochgeladenen Datei führt zu RCE.
