Cloudanix VulnDB

CVE-2023-2088

Medium · 6.5

CVSS

6.5

EPSS

1.2%

Published

May 12, 2023

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A mismatch in how two parts of an OpenStack cloud track attached storage can let users see data they are not supposed to access.

Exploitation
Remote Authenticated
Attacker needs
Low Privilege
Complexity
Low
Impact
Data Exposure
Component
Application
Class
Information Disclosure
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Inconsistency between Cinder and Nova volume handling permits a remote authenticated user to detach volumes in a manner that exposes attached data, resulting in unauthorized confidentiality disclosure without requiring additional privileges or user interaction.

Why it matters to the business

Organizations running affected OpenStack deployments face elevated risk of data exposure from storage volumes, potentially leading to compliance violations, loss of customer trust, and operational disruption while the inconsistency remains unaddressed.

How an attack unfolds

An attacker with valid credentials issues a volume detach operation through Cinder that exploits the state inconsistency with Nova, allowing the volume to be accessed or observed outside its intended attachment context and thereby disclosing confidential data.

How to fix it

Apply vendor-supplied updates that reconcile volume state between Cinder and Nova; until patches are available, enforce strict RBAC on volume operations and monitor for anomalous detach requests.

How to confirm the fix worked

Review OpenStack component versions and configuration for consistent volume lifecycle handling, replay controlled detach operations in a test environment, and inspect service logs for state mismatches after detach events.

Typical attack path

  1. Obtain valid authenticated access to the OpenStack environment
  2. Identify a target volume attached via Nova
  3. Issue a detach operation through the Cinder API
  4. Leverage the resulting inconsistency to access volume data

How to detect it

Examine Cinder and Nova audit logs for volume detach operations performed by non-owner tenants, correlate with subsequent data access attempts, and search service logs for state inconsistency warnings or errors around volume lifecycle events.

What your security team should do

  • Prioritize patching Cinder and Nova once fixed versions are released
  • Audit and tighten volume detachment permissions for all tenants
  • Enable detailed auditing of Cinder and Nova API calls
  • Review existing volumes for unintended exposure after any detach operations

The record

A flaw was found in OpenStack due to an inconsistency between Cinder and Nova. This issue can be triggered intentionally or by accident. A remote, authenticated attacker could exploit this vulnerability by detaching one of their volumes from Cinder. The highest impact is to confidentiality.

Affected packages

Ecosystem Package Introduced Fixed
Debian:11 cinder 0 2:17.4.0-1~deb11u2
Debian:11 nova 0 No fix
Debian:11 python-glance-store 0 No fix
Debian:11 python-os-brick 0 No fix
Debian:12 cinder 0 2:21.1.0-3
Debian:12 nova 0 2:26.1.0-4
Debian:12 python-glance-store 0 4.1.0-4
Debian:12 python-os-brick 0 4.1.0-3
Debian:13 cinder 0 2:21.1.0-3
Debian:13 nova 0 2:26.1.0-4
Debian:13 python-glance-store 0 4.1.0-4
Debian:13 python-os-brick 0 4.1.0-3
Red Hat:openstack:13::el7 openstack-nova 0 1:17.0.13-41.el7ost
Red Hat:openstack:13::el7 openstack-nova-api 0 1:17.0.13-41.el7ost
Red Hat:openstack:13::el7 openstack-nova-cells 0 1:17.0.13-41.el7ost
Red Hat:openstack:13::el7 openstack-nova-common 0 1:17.0.13-41.el7ost
Red Hat:openstack:13::el7 openstack-nova-compute 0 1:17.0.13-41.el7ost
Red Hat:openstack:13::el7 openstack-nova-conductor 0 1:17.0.13-41.el7ost
Red Hat:openstack:13::el7 openstack-nova-console 0 1:17.0.13-41.el7ost
Red Hat:openstack:13::el7 openstack-nova-migration 0 1:17.0.13-41.el7ost
Red Hat:openstack:13::el7 openstack-nova-network 0 1:17.0.13-41.el7ost
Red Hat:openstack:13::el7 openstack-nova-novncproxy 0 1:17.0.13-41.el7ost
Red Hat:openstack:13::el7 openstack-nova-placement-api 0 1:17.0.13-41.el7ost
Red Hat:openstack:13::el7 openstack-nova-scheduler 0 1:17.0.13-41.el7ost
Red Hat:openstack:13::el7 openstack-nova-serialproxy 0 1:17.0.13-41.el7ost
Red Hat:openstack:13::el7 openstack-nova-spicehtml5proxy 0 1:17.0.13-41.el7ost
Red Hat:openstack:13::el7 python-glance-store 0 0:0.23.1-0.20190916165255.cc7ecc1.el7ost
Red Hat:openstack:13::el7 python-nova 0 1:17.0.13-41.el7ost
Red Hat:openstack:13::el7 python-nova-tests 0 1:17.0.13-41.el7ost
Red Hat:openstack:13::el7 python-os-brick 0 0:2.3.9-12.el7ost
Red Hat:openstack:13::el7 python2-glance-store 0 0:0.23.1-0.20190916165255.cc7ecc1.el7ost
Red Hat:openstack:13::el7 python2-os-brick 0 0:2.3.9-12.el7ost
Red Hat:openstack:16.1::el8 openstack-cinder 0 1:15.4.0-1.20230510003501.58f0e73.el8ost
Red Hat:openstack:16.1::el8 openstack-nova 0 1:20.4.1-1.20221005193232.el8ost
Red Hat:openstack:16.1::el8 openstack-nova-api 0 1:20.4.1-1.20221005193232.el8ost
Red Hat:openstack:16.1::el8 openstack-nova-common 0 1:20.4.1-1.20221005193232.el8ost
Red Hat:openstack:16.1::el8 openstack-nova-compute 0 1:20.4.1-1.20221005193232.el8ost
Red Hat:openstack:16.1::el8 openstack-nova-conductor 0 1:20.4.1-1.20221005193232.el8ost
Red Hat:openstack:16.1::el8 openstack-nova-console 0 1:20.4.1-1.20221005193232.el8ost
Red Hat:openstack:16.1::el8 openstack-nova-migration 0 1:20.4.1-1.20221005193232.el8ost
Red Hat:openstack:16.1::el8 openstack-nova-novncproxy 0 1:20.4.1-1.20221005193232.el8ost
Red Hat:openstack:16.1::el8 openstack-nova-scheduler 0 1:20.4.1-1.20221005193232.el8ost
Red Hat:openstack:16.1::el8 openstack-nova-serialproxy 0 1:20.4.1-1.20221005193232.el8ost
Red Hat:openstack:16.1::el8 openstack-nova-spicehtml5proxy 0 1:20.4.1-1.20221005193232.el8ost
Red Hat:openstack:16.1::el8 python-glance-store 0 0:1.0.2-1.20220219073735.el8ost
Red Hat:openstack:16.1::el8 python-os-brick 0 0:2.10.5-1.20220112193420.634fb4a.el8ost
Red Hat:openstack:16.1::el8 python3-cinder 0 1:15.4.0-1.20230510003501.58f0e73.el8ost
Red Hat:openstack:16.1::el8 python3-glance-store 0 0:1.0.2-1.20220219073735.el8ost
Red Hat:openstack:16.1::el8 python3-nova 0 1:20.4.1-1.20221005193232.el8ost
Red Hat:openstack:16.1::el8 python3-os-brick 0 0:2.10.5-1.20220112193420.634fb4a.el8ost
Red Hat:openstack:16.2::el8 openstack-cinder 0 1:15.6.1-2.20230310075425.a19c1c9.el8ost
Red Hat:openstack:16.2::el8 openstack-nova 0 1:20.6.2-2.20230308185149.el8ost
Red Hat:openstack:16.2::el8 openstack-nova-api 0 1:20.6.2-2.20230308185149.el8ost
Red Hat:openstack:16.2::el8 openstack-nova-common 0 1:20.6.2-2.20230308185149.el8ost
Red Hat:openstack:16.2::el8 openstack-nova-compute 0 1:20.6.2-2.20230308185149.el8ost
Red Hat:openstack:16.2::el8 openstack-nova-conductor 0 1:20.6.2-2.20230308185149.el8ost
Red Hat:openstack:16.2::el8 openstack-nova-console 0 1:20.6.2-2.20230308185149.el8ost
Red Hat:openstack:16.2::el8 openstack-nova-migration 0 1:20.6.2-2.20230308185149.el8ost
Red Hat:openstack:16.2::el8 openstack-nova-novncproxy 0 1:20.6.2-2.20230308185149.el8ost
Red Hat:openstack:16.2::el8 openstack-nova-scheduler 0 1:20.6.2-2.20230308185149.el8ost
Red Hat:openstack:16.2::el8 openstack-nova-serialproxy 0 1:20.6.2-2.20230308185149.el8ost
Red Hat:openstack:16.2::el8 openstack-nova-spicehtml5proxy 0 1:20.6.2-2.20230308185149.el8ost
Red Hat:openstack:16.2::el8 python-glance-store 0 0:1.0.2-2.20230309124927.79e043a.el8ost
Red Hat:openstack:16.2::el8 python-os-brick 0 0:2.10.8-2.20220112064936.458bfad.el8ost
Red Hat:openstack:16.2::el8 python3-cinder 0 1:15.6.1-2.20230310075425.a19c1c9.el8ost
Red Hat:openstack:16.2::el8 python3-glance-store 0 0:1.0.2-2.20230309124927.79e043a.el8ost
Red Hat:openstack:16.2::el8 python3-nova 0 1:20.6.2-2.20230308185149.el8ost
Red Hat:openstack:16.2::el8 python3-os-brick 0 0:2.10.8-2.20220112064936.458bfad.el8ost
Red Hat:openstack:16.2::el8 tripleo-ansible 0 0:0.8.1-2.20230309004941.el8ost
Red Hat:openstack:17.0::el9 openstack-cinder 0 1:18.2.1-0.20230509200451.1776695.el9ost
Red Hat:openstack:17.0::el9 openstack-nova 0 1:23.2.2-0.20221209190754.7074ac0.el9ost
Red Hat:openstack:17.0::el9 openstack-nova-api 0 1:23.2.2-0.20221209190754.7074ac0.el9ost
Red Hat:openstack:17.0::el9 openstack-nova-common 0 1:23.2.2-0.20221209190754.7074ac0.el9ost
Red Hat:openstack:17.0::el9 openstack-nova-compute 0 1:23.2.2-0.20221209190754.7074ac0.el9ost
Red Hat:openstack:17.0::el9 openstack-nova-conductor 0 1:23.2.2-0.20221209190754.7074ac0.el9ost
Red Hat:openstack:17.0::el9 openstack-nova-migration 0 1:23.2.2-0.20221209190754.7074ac0.el9ost
Red Hat:openstack:17.0::el9 openstack-nova-novncproxy 0 1:23.2.2-0.20221209190754.7074ac0.el9ost
Red Hat:openstack:17.0::el9 openstack-nova-scheduler 0 1:23.2.2-0.20221209190754.7074ac0.el9ost
Red Hat:openstack:17.0::el9 openstack-nova-serialproxy 0 1:23.2.2-0.20221209190754.7074ac0.el9ost
Red Hat:openstack:17.0::el9 openstack-nova-spicehtml5proxy 0 1:23.2.2-0.20221209190754.7074ac0.el9ost
Red Hat:openstack:17.0::el9 python-glance-store 0 0:2.5.1-0.20230509140449.5f1cee6.el9ost
Red Hat:openstack:17.0::el9 python-os-brick 0 0:4.3.3-0.20220715140803.d09dc9e.el9ost
Red Hat:openstack:17.0::el9 python3-cinder 0 1:18.2.1-0.20230509200451.1776695.el9ost
Red Hat:openstack:17.0::el9 python3-cinder-common 0 1:18.2.1-0.20230509200451.1776695.el9ost
Red Hat:openstack:17.0::el9 python3-glance-store 0 0:2.5.1-0.20230509140449.5f1cee6.el9ost
Red Hat:openstack:17.0::el9 python3-nova 0 1:23.2.2-0.20221209190754.7074ac0.el9ost
Red Hat:openstack:17.0::el9 python3-os-brick 0 0:4.3.3-0.20220715140803.d09dc9e.el9ost
Red Hat:openstack:17.0::el9 tripleo-ansible 0 0:3.3.1-0.20221208161844.fa5422f.el9ost
Ubuntu:16.04:LTS cinder 0 No fix
Ubuntu:16.04:LTS ironic 0 No fix
Ubuntu:16.04:LTS python-glance-store 0 No fix
Ubuntu:16.04:LTS python-os-brick 0 No fix
Ubuntu:18.04:LTS ironic 0 No fix
Ubuntu:18.04:LTS python-glance-store 0 No fix
Ubuntu:18.04:LTS python-os-brick 0 No fix
Ubuntu:20.04:LTS cinder 0 No fix
Ubuntu:20.04:LTS cinder 0 2:16.4.2-0ubuntu2.3
Ubuntu:20.04:LTS ironic 0 No fix
Ubuntu:20.04:LTS nova 0 No fix
Ubuntu:20.04:LTS nova 0 2:21.2.4-0ubuntu2.3
Ubuntu:20.04:LTS python-glance-store 0 No fix
Ubuntu:20.04:LTS python-glance-store 0 2.0.0-0ubuntu4.1
Ubuntu:20.04:LTS python-os-brick 0 No fix
Ubuntu:20.04:LTS python-os-brick 0 3.0.8-0ubuntu1.1
Ubuntu:22.04:LTS cinder 0 2:20.2.0-0ubuntu1.1
Ubuntu:22.04:LTS cinder 0 2:20.1.0-0ubuntu2.1
Ubuntu:22.04:LTS ironic 0 1:20.1.0-0ubuntu1.1
Ubuntu:22.04:LTS nova 0 3:25.1.1-0ubuntu1.1
Ubuntu:22.04:LTS nova 0 3:25.1.0-0ubuntu2.1
Ubuntu:22.04:LTS python-glance-store 0 3.0.0-0ubuntu1.3
Ubuntu:22.04:LTS python-glance-store 0 3.0.0-0ubuntu1.1
Ubuntu:22.04:LTS python-os-brick 0 5.2.2-0ubuntu1.2
Ubuntu:22.04:LTS python-os-brick 0 5.2.2-0ubuntu1
Ubuntu:Pro:16.04:LTS cinder 0 No fix
Ubuntu:Pro:16.04:LTS ironic 0 No fix
Ubuntu:Pro:16.04:LTS nova 0 No fix
Ubuntu:Pro:16.04:LTS python-glance-store 0 No fix
Ubuntu:Pro:16.04:LTS python-os-brick 0 No fix
Ubuntu:Pro:18.04:LTS cinder 0 No fix
Ubuntu:Pro:18.04:LTS ironic 0 No fix
Ubuntu:Pro:18.04:LTS nova 0 No fix
Ubuntu:Pro:18.04:LTS python-glance-store 0 No fix
Ubuntu:Pro:18.04:LTS python-os-brick 0 No fix
Ubuntu:Pro:20.04:LTS cinder 0 No fix
Ubuntu:Pro:20.04:LTS ironic 0 No fix
Ubuntu:Pro:20.04:LTS nova 0 No fix
Ubuntu:Pro:20.04:LTS python-glance-store 0 No fix
Ubuntu:Pro:20.04:LTS python-os-brick 0 No fix
Ubuntu:Pro:22.04:LTS ironic 0 No fix

Related vulnerabilities