In the query parser in OpenStack Vitrage before 12.0.1, 13.0.0, 14.0.0, and 15.0.0, a user allowed to access the Vitrage API may trigger code execution on the Vitrage service host as the user the Vitrage service runs under. This may result in unauthorized access to the host and further compromise of the Vitrage service. All deployments exposing the Vitrage API are affected. This occurs in _create_query_function in vitrage/graph/query.py.
The vulnerability classified as CWE-95 (Improper Neutralization of Directives in Dynamically Evaluated Code) occurs in the _create_query_function function in the vitrage/graph/query.py file. The API query parser does not perform proper validation or sanitization of user-supplied input data, allowing injection and execution of arbitrary code on the server side. Exploitation is possible over the network without user interaction, but requires having permissions to use Vitrage API (PR:H).
An attacker can execute arbitrary code on the host running the Vitrage service with the privileges of the service account, which may lead to further compromise of the OpenStack infrastructure. Unauthorized access to the host and violation of system confidentiality, integrity, and availability are possible.
OpenStack Vitrage should be updated to version 12.0.1 or newer (respectively 13.0.0, 14.0.0, 15.0.0 for individual branches). Additionally, access to Vitrage API should be restricted to trusted, authorized users only, and network isolation of the service should be considered.
OpenStack Vitrage in all versions before 12.0.1, 13.0.0, 14.0.0, and 15.0.0. All deployments exposing Vitrage API are at risk.
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:HOpenstack Vitrage
APPOpenstack< 12.0113.0.0 – 13.0.1 (excl.)14.0.0 – 14.0.1 (excl.)15.0.0 – 15.0.1 (excl.)
Related vulnerabilities
RCE w OpenStack Magnum — podatność w komponencie cert_manager.py
OpenStack Neutron — podszywanie pod adresy sprzętowe via linuxbridge/ebtables-nft
OpenStack Blazar-Dashboard: RCE przez niebezpieczne użycie eval()
Obejście szyfrowania middleware memcache w python-keystoneclient
Pominięcie podpisu middleware memcache w python-keystoneclient