CVE-2026-92580
nicheStored OS Command Injection in AVideo CloneSite Plugin via Admin CSRF
AVideo through 29.0 contains a stored OS command injection (CWE-78) in the CloneSite plugin: cloneClient.json.php builds the command 'sshpass -p <password> rsync ...' with a plain str_replace and no shell escaping, so a single quote in the stored SSH password breaks out of the quoted argument and injects arbitrary shell commands. The password is saved through the admin-only objects/pluginAddDataObject.json.php endpoint, whose only CSRF defense is a no-op when requests appear to originate from loopback (e.g., behind a same-host TLS-terminating reverse proxy with $global['trustedProxies'] unset) or when an attacker-controlled application is co-hosted on the same hostname; on HTTPS the session cookie is SameSite=None, so a cross-site POST carries the admin's session. An unauthenticated attacker who lures a logged-in administrator into saving a malicious SSH password (and an attacker-controlled cloneSiteURL) gains arbitrary command execution when the plugin's documented crontab entry runs, with the privileges of the crontab owner (commonly root or www-data). Only deployments with the CloneSite plugin enabled and its crontab installed are exploitable, and default single-process Apache deployments are reported as not CSRF-exploitable. The flaw is confirmed at master HEAD (commit 8963b6a1); no public PoC is known, it is not in CISA KEV, and no patched version is available.
What to do: No patched release exists yet, so disable the CloneSite plugin and remove its crontab entry unless strictly required. Otherwise restrict access to objects/pluginAddDataObject.json.php and plugin/CloneSite/cloneClient.json.php, set $global['trustedProxies'] correctly so the loopback CSRF bypass does not trigger, and reject single quotes or shell metacharacters in the stored SSH password. Because the injected command runs as the crontab owner (often root or www-data), monitor those accounts and audit recent crontab-driven CloneSite activity for tampering.
| AVideo (CloneSite plugin enabled) | through 29.0, including master HEAD (8963b6a1); no patched version available |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
In AVideo through 29.0, the CloneSite plugin is vulnerable to stored OS command injection. In plugin/CloneSite/cloneClient.json.php (line ~270) the stored SSH password is substituted into the command string `sshpass -p '{password}' rsync ...` with a plain str_replace and no escaping, so a single quote in the password breaks out of the quoted word and injects arbitrary shell. The password is written through the admin-only endpoint objects/pluginAddDataObject.json.php, whose only CSRF defense (isUntrustedRequest()/forbidIfIsUntrustedRequest()) is a no-op when the request source appears to be loopback — as happens behind a same-host TLS-terminating reverse proxy with $global['trustedProxies'] unset — or when an attacker-controlled application is co-hosted on the same hostname; on HTTPS the session cookie is issued with SameSite=None, so a cross-site POST carries it. An unauthenticated remote attacker can therefore lure an authenticated administrator into planting a malicious password (and an attacker-controlled cloneSiteURL), after which the plugin's documented crontab entry executes the injected command with no further administrator action, as the crontab owner (commonly root or www-data). Exploitation requires the CloneSite plugin to be enabled with the documented crontab installed and one of the above CSRF channels; default single-process Apache deployments are reported as not CSRF-exploitable. This is a residual sink of CVE-2026-41304. The issue is confirmed at master HEAD (8963b6a1); no patched version is available.
- Weakness
- CWE-78
- Vector
- CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
In the news0 stories
No ingested article mentions this CVE yet.