AVideo Live Plugin Command Injection via Incomplete Sanitization Bypass
First seen Jul 21, 2026 · Updated Jul 21, 2026 · CVSS 9.8
AVideo before version 29.0 contains an incomplete patch for a previously disclosed command injection vulnerability, allowing attackers to execute arbitrary OS commands via the Live plugin's on_publish.php endpoint. Despite the use of escapeshellarg(), the execAsync() function re-wraps escaped commands in a double-quoted sh -c shell, enabling command substitution through $() and backticks. This flaw carries a critical CVSS score of 9.8 and requires no authentication for exploitation.
Technical Analysis
CVE-2026-64625 stems from a flawed remediation of CVE-2026-45578 in the AVideo platform's execAsync() function, which is intended to safely execute shell commands but instead wraps escaped arguments inside double-quoted sh -c invocations. Because double quotes in shell syntax still permit command substitution via $(...) and backtick syntax, attackers can inject and execute arbitrary OS commands even though escapeshellarg() is applied to individual arguments. The vulnerable code path is reachable through the Live plugin's on_publish.php endpoint, making this a network-exploitable, likely unauthenticated remote code execution vector. Successful exploitation grants attackers command execution in the context of the web server process, potentially leading to full host compromise, data exfiltration, or lateral movement. If AVideo instances are deployed on hosts that also run AI agent orchestration frameworks, RAG pipelines, or expose API keys/secrets used by LLM tool-calling agents, this RCE could allow attackers to pivot into agent infrastructure, exfiltrate credentials, or tamper with agent-accessible data stores.
Affected Systems
AVideo (formerly YouPHPTube) versions prior to 29.0; specifically installations with the Live streaming plugin enabled and the on_publish.php endpoint accessible
Indicators of Compromise
- Indicators not yet publicly disclosed; monitor for anomalous requests to on_publish.php containing $() or backtick characters in parameters, unexpected child processes spawned from the PHP-FPM or Apache/Nginx worker running AVideo, and outbound connections initiated by the web server process shortly after such requests
Remediation Steps
- 1
Upgrade AVideo
Update AVideo to version 29.0 or later where the command substitution flaw is fully remediated.
- 2
Restrict Live Plugin Exposure
Disable or restrict network access to the Live plugin and on_publish.php endpoint if not in active use, using firewall rules or authentication gating.
- 3
Input Validation Hardening
Implement strict allow-list validation on parameters passed to shell-executing functions rather than relying solely on escaping mechanisms.
- 4
Sandbox Shell Execution
Refactor code to avoid invoking sh -c with user-influenced input; use execve-style APIs with argument arrays instead of shell string concatenation.
- 5
Monitor and Audit
Deploy web application firewall rules to detect and block command substitution patterns ($() and backticks) in incoming requests, and audit server logs for exploitation attempts.
- 6
Credential Rotation
If exposure is suspected, rotate any API keys, database credentials, or secrets accessible from the affected host, especially those used by co-located AI agent or automation services.
CVE / Advisory IDs
Industries Most Exposed
Respond to this threat
Pro subscribers get a full AI-generated incident-response playbook for this threat — detection, containment, eradication, and recovery steps — plus an unlimited AI Threat Advisor for questions about your environment.