In OpenStack Cyborg before 16.0.1, the Accelerator Request (ARQ) API does not enforce project ownership at any layer. The project_id column in the database is never populated (NULL for every ARQ), database queries have no project filtering, and policy checks are self-referential (the authorize_wsgi decorator compares the caller's project_id with itself rather than the target resource). Any authenticated non-admin user can complete various actions such as deleting ARQs bound to other projects' instances, aka cross-tenant denial of service.
{
"availability": "No subscription required",
"binaries": [
{
"binary_name": "cyborg-agent",
"binary_version": "14.0.0-3+deb13u1build0.25.10.1"
},
{
"binary_name": "cyborg-api",
"binary_version": "14.0.0-3+deb13u1build0.25.10.1"
},
{
"binary_name": "cyborg-common",
"binary_version": "14.0.0-3+deb13u1build0.25.10.1"
},
{
"binary_name": "cyborg-conductor",
"binary_version": "14.0.0-3+deb13u1build0.25.10.1"
},
{
"binary_name": "python3-cyborg",
"binary_version": "14.0.0-3+deb13u1build0.25.10.1"
}
]
}
{
"availability": "No subscription required",
"binaries": [
{
"binary_name": "cyborg-agent",
"binary_version": "16.0.0-2ubuntu0.1"
},
{
"binary_name": "cyborg-api",
"binary_version": "16.0.0-2ubuntu0.1"
},
{
"binary_name": "cyborg-common",
"binary_version": "16.0.0-2ubuntu0.1"
},
{
"binary_name": "cyborg-conductor",
"binary_version": "16.0.0-2ubuntu0.1"
},
{
"binary_name": "python3-cyborg",
"binary_version": "16.0.0-2ubuntu0.1"
}
]
}