CVE-2026-84165 Overview
CVE-2026-84165 is a broken access control vulnerability [CWE-284] in OpenNebula by OpenNebula Systems. The flaw affects all versions prior to 7.4. The one.vm.exec function fails to verify access permissions before executing commands on virtual machines. An authenticated user with basic permissions can execute arbitrary commands on virtual machines owned by other users. Exploitation requires only the target virtual machine identifier and an enabled qemu-agent on that machine. Successful exploitation compromises the confidentiality, integrity, and availability of affected virtual machines.
Critical Impact
Any authenticated OpenNebula user with basic permissions can execute commands on other tenants' virtual machines, enabling cross-tenant compromise in shared infrastructure.
Affected Products
- OpenNebula versions prior to 7.4
- Deployments with qemu-agent enabled on managed virtual machines
- Multi-tenant OpenNebula cloud environments
Discovery Timeline
- 2026-09-01 - CVE CVE-2026-84165 published to NVD
- 2026-09-01 - Last updated in NVD database
Technical Details for CVE-2026-84165
Vulnerability Analysis
The vulnerability resides in the one.vm.exec XML-RPC function exposed by the OpenNebula management interface. This function is designed to execute commands inside a virtual machine through the qemu-guest-agent channel. The function does not validate whether the calling user owns or has been granted access to the target virtual machine.
An attacker authenticates to OpenNebula using any low-privileged account. The attacker then invokes one.vm.exec with the identifier of a virtual machine owned by another user. OpenNebula forwards the command to the target virtual machine via qemu-agent without enforcing ownership or ACL checks.
The result is arbitrary command execution inside the victim's virtual machine, executed with the privileges of the qemu-guest-agent process on the guest. This typically runs as root on Linux guests and SYSTEM on Windows guests.
Root Cause
The root cause is missing authorization enforcement [CWE-284] in the one.vm.exec code path. OpenNebula's normal access control model gates virtual machine actions through per-object ACLs. The one.vm.exec handler bypasses this model and dispatches the command to the hypervisor agent without consulting the ACL layer.
Attack Vector
Exploitation is network-based and requires only low-privileged authenticated access to the OpenNebula API. The attacker needs two pieces of information: valid credentials for any OpenNebula user and the numeric identifier of the target virtual machine. Virtual machine identifiers are sequential integers, making enumeration trivial. The target virtual machine must have qemu-guest-agent installed and enabled, which is the recommended configuration for OpenNebula-managed guests.
The vulnerability mechanism is described in the INCIBE Security Notice. No public proof-of-concept code is available at this time.
Detection Methods for CVE-2026-84165
Indicators of Compromise
- Unexpected one.vm.exec API calls in OpenNebula oned.log or sched.log originating from users who do not own the target virtual machine
- qemu-guest-agent executing unexpected processes or shell commands inside guest virtual machines
- Cross-tenant activity where a user identifier issues commands against virtual machine identifiers outside their allocated resource pool
Detection Strategies
- Audit OpenNebula XML-RPC logs for invocations of one.vm.exec and correlate the calling user identifier against the owner of the target virtual machine
- Deploy endpoint telemetry inside guest virtual machines to record process ancestry rooted at qemu-ga or qemu-guest-agent
- Alert on any child process of qemu-guest-agent that is not part of a documented administrative workflow
Monitoring Recommendations
- Forward OpenNebula controller logs to a centralized logging platform and retain them for correlation across users and virtual machines
- Monitor guest operating systems for unexpected root or SYSTEM command execution originating from the guest agent socket
- Baseline normal one.vm.exec usage in your environment and alert on deviations in caller identity or command frequency
How to Mitigate CVE-2026-84165
Immediate Actions Required
- Upgrade OpenNebula to version 7.4 or later, which contains the access control fix for one.vm.exec
- Audit existing OpenNebula user accounts and remove or downgrade any accounts that do not require API access
- Review historical oned.log entries for prior invocations of one.vm.exec that crossed ownership boundaries
Patch Information
OpenNebula Systems addressed the vulnerability in OpenNebula 7.4. Administrators should follow the standard OpenNebula upgrade procedure to move controllers to the patched release. Refer to the INCIBE Security Notice for the official advisory.
Workarounds
- Disable qemu-guest-agent on virtual machines that do not require guest command execution, which prevents one.vm.exec from functioning against those targets
- Restrict OpenNebula API network exposure to trusted management networks only, reducing the population of users who can reach the vulnerable endpoint
- Apply stricter OpenNebula ACL rules to limit which users can invoke virtual machine management functions until the upgrade is completed
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.