CVE-2026-40214
OpenStack Cyborg's Accelerator Request (ARQ) API does not enforce project ownership at any layer
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- Low
- Integrity
- Low
- Availability
- Low
Exploit likelihood
What each source reports
CVE List Score used
6.3
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.
- Record
CVE-2026-40214- CVSS 3.1
- 6.3 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L - Weakness
- CWE-282
- Updated
- 2026-11-02
EUVDEUVD-2026-28456
6.3
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.
- Record
EUVD-2026-28456- CVSS 3.1
- 6.3 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-mmpc-xjxr-5hf8
6.3
OpenStack Cyborg's Accelerator Request (ARQ) API does not enforce project ownership at any layer
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.
- Record
GHSA-mmpc-xjxr-5hf8- CVSS 3.1
- 6.3 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L - Weakness
- CWE-282
- Updated
- 2026-11-02
NVD
6.3
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.
- Record
CVE-2026-40214- CVSS 3.1
- 6.3 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L - Weakness
- CWE-282
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2026-40214
6.3
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.
- Record
DEBIAN-CVE-2026-40214- CVSS 3.1
- 6.3 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L - Updated
- 2026-11-02
OSVGHSA-mmpc-xjxr-5hf8
6.3
OpenStack Cyborg's Accelerator Request (ARQ) API does not enforce project ownership at any layer
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.
- Record
GHSA-mmpc-xjxr-5hf8- CVSS 3.1
- 6.3 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L - Weakness
- CWE-282
- Updated
- 2026-11-02
OSVPYSEC-2026-2854
6.3
OpenStack Cyborg's Accelerator Request (ARQ) API does not enforce project ownership at any layer
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.
- Record
PYSEC-2026-2854- CVSS 3.1
- 6.3 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L - Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-40214
6.3
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.
- Record
UBUNTU-CVE-2026-40214- CVSS 3.1
- 6.3 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L - Updated
- 2026-11-02
OSVUSN-8413-1 No score
cyborg vulnerabilities
It was discovered that Cyborg did not properly enforce project ownership in the Accelerator Request (ARQ) API. An authenticated user could possibly use this issue to delete ARQs bound to other projects' instances, resulting in a cross-tenant denial of service. (CVE-2026-40214)
It was discovered that Cyborg used a permissive default policy that authorized any request carrying a valid authentication token, regardless of roles or scope, for multiple API endpoints. An authenticated user could possibly use this issue to perform unauthorized actions, such as reprogramming FPGA bitstreams on arbitrary compute nodes. (CVE-2026-40213)
- Record
USN-8413-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
openstack-cyborgPyPI |
before 16.0.1 | 16.0.1 |
cyborgDebian:13 |
before 14.0.0-3+deb13u1, plus listed versions 14.0.0-3 |
14.0.0-3+deb13u1 |
cyborgDebian:14 |
before 16.0.0+git+2026.04.26.b8edfa06f1-1, plus listed versions 14.0.0-315.0.0-115.0.0~rc1-115.0.0~rc1-215.0.0~rc1-3 Show 5 moreShow less16.0.0-116.0.0-216.0.0~rc1-116.0.0~rc1-216.0.0~rc2-1 |
16.0.0+git+2026.04.26.b8edfa06f1-1 |
openstack-cyborgPyPI |
before 16.0.1, plus listed versions 0.1.00.2.01.0.01.0.0.0b31.0.0.0rc1 Show 42 moreShow less10.0.010.0.0.0rc110.1.011.0.011.0.0.0rc112.0.012.0.0.0rc113.0.013.0.0.0rc114.0.014.0.0.0rc114.1.015.0.015.0.0.0rc115.0.116.0.016.0.0.0rc116.0.0.0rc22.0.02.0.0.0rc13.0.03.0.0.0rc13.0.14.0.04.0.0.0rc14.0.15.0.05.0.0.0rc15.0.0.0rc25.0.16.0.06.0.0.0rc16.0.0.0rc26.0.17.0.07.0.0.0rc17.0.18.0.08.0.0.0rc18.0.19.0.09.0.0.0rc1 |
16.0.1 |
cyborgUbuntu:25.10 |
before 14.0.0-3+deb13u1build0.25.10.1, plus listed versions 13.0.0-214.0.0-214.0.0-3 |
14.0.0-3+deb13u1build0.25.10.1 |
cyborgUbuntu:26.04:LTS |
before 16.0.0-2ubuntu0.1, plus listed versions 14.0.0-315.0.0-116.0.0~rc1-216.0.0-2 |
16.0.0-2ubuntu0.1 |
cyborgUbuntu:25.10 From an advisory covering 2 CVEs |
before 14.0.0-3+deb13u1build0.25.10.1, plus listed versions 13.0.0-214.0.0-214.0.0-3 |
14.0.0-3+deb13u1build0.25.10.1 |
cyborgUbuntu:26.04:LTS From an advisory covering 2 CVEs |
before 16.0.0-2ubuntu0.1, plus listed versions 14.0.0-315.0.0-116.0.0~rc1-216.0.0-2 |
16.0.0-2ubuntu0.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-40214 is a medium vulnerability (CVSS 6.3) in Openstack Cyborg, published May 7, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.21%, the 10th percentile. Fixed in openstack-cyborg 16.0.1.