WWBN AVideo is an open source video platform. In versions up to and including 26.0, multiple vulnerabilities in AVideo's CloneSite plugin chain together to allow a completely unauthenticated attacker to achieve remote code execution. The `clones.json.php` endpoint exposes clone secret keys without authentication, which can be used to trigger a full database dump via `cloneServer.json.php`. The dump contains admin password hashes stored as MD5, which are trivially crackable. With admin access, the attacker exploits an OS command injection in the rsync command construction in `cloneClient.json.php` to execute arbitrary system commands. Commit c85d076375fab095a14170df7ddb27058134d38c contains a patch.
The attack proceeds in three stages. First, the `clones.json.php` endpoint exposes clone secret keys without any authentication (Auth Bypass, CWE-284). Second, the obtained key allows calling `cloneServer.json.php` to generate a complete database dump, which contains administrator passwords hashed with the MD5 algorithm — trivially vulnerable to cracking. Third, after gaining administrator access, the attacker exploits a command injection vulnerability (CWE-78) in the rsync command building logic in the `cloneClient.json.php` file, allowing execution of arbitrary system commands.
A completely unauthenticated network attacker can gain full control of the server, obtaining the ability to read and modify data, install backdoors, and disrupt service availability.
The patch contained in commit c85d076375fab095a14170df7ddb27058134d38c available in the WWBN/AVideo GitHub repository should be applied immediately. Until the patch is deployed, it is recommended to block public access to the `clones.json.php`, `cloneServer.json.php`, and `cloneClient.json.php` endpoints at the firewall or web server level.
WWBN AVideo in versions up to and including 26.0 with the CloneSite plugin installed.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:HWwbn Avideo
APPWwbn≤ 26.0
Related vulnerabilities
WWBN AVideo — niekompletna naprawa command injection w test.php
WWBN AVideo: RCE przez eval() w pluginie YPTSocket — przejęcie kont
WWBN AVideo: hasła do filmów przechowywane w bazie jako plaintext
SQL Injection w WWBN AVideo — mechanizm uwierzytelniania RTMP
SSRF w WWBN AVideo — brak walidacji parametru URL w saveDVR.json.php