---
id: CVE-2026-40213
aliases:
  - GHSA-mm7j-mhhj-hj36
  - PYSEC-2026-2853
title: >-
  OpenStack Cyborg uses rule:allow (check_str='@') as the default policy for
  multiple API endpoints
summary: >-
  OpenStack Cyborg uses rule:allow (check_str='@') as the default policy for
  multiple API endpoints
severity: high
cvss: 7.4
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:L'
vendor: openstack-cyborg
product: openstack-cyborg
ecosystem: pip
affected:
  - openstack-cyborg < 16.0.1
patched:
  - openstack-cyborg 16.0.1
published: '2026-05-08'
updated: '2026-07-13'
source: OSV
sourceUrl: 'https://osv.dev/vulnerability/GHSA-mm7j-mhhj-hj36'
references:
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-40213'
  - url: 'https://bugs.launchpad.net/openstack-cyborg/+bug/2143263'
  - url: 'https://github.com/openstack/cyborg'
  - url: 'https://security.openstack.org/ossa/OSSA-2026-011.html'
  - url: 'https://www.openwall.com/lists/oss-security/2026/05/07/6'
tags:
  - osv
  - pip
epss: 0.00332
epssPercentile: 0.23692
ingestedAt: '2026-07-13T18:58:00.758Z'
---

## Overview

OpenStack Cyborg before 16.0.1 uses rule:allow (check_str='@') as the default policy for multiple API endpoints. This unconditionally authorizes any request carrying a valid Keystone token regardless of roles, project membership, or scope. An authenticated user with zero role assignments can complete various actions such as reprogramming FPGA bitstreams on arbitrary compute nodes via agent RPC.

## Affected packages

- `openstack-cyborg < 16.0.1`

## Remediation

Upgrade to a patched release:

- `openstack-cyborg 16.0.1`
