Bug 1877288 - [OSP 17][RFE][rbd] Create a unique rbd user for each host volume attachment
Summary: [OSP 17][RFE][rbd] Create a unique rbd user for each host volume attachment
Keywords:
Status: NEW
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-cinder
Version: 17.0 (Wallaby)
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ---
: ---
Assignee: Eric Harney
QA Contact: Evelina Shames
RHOS Documentation Team
URL:
Whiteboard:
Depends On:
Blocks: 1877289
TreeView+ depends on / blocked
 
Reported: 2020-09-09 10:05 UTC by Lee Yarwood
Modified: 2023-10-23 11:02 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1877289 (view as bug list)
Environment:
Last Closed:
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker OSP-2163 0 None None None 2021-11-18 15:18:49 UTC

Description Lee Yarwood 2020-09-09 10:05:15 UTC
Description of problem:

The current implementation of the rbd volume driver provides a static auth_username and shared (already configured on the computes) static secret_uuid in the connection_info for each volume. There is also legacy support in the computes for pulling these values from the local nova.conf but these should be overridden by the above connection_info c-vol provided values for all but legacy volumes at present.

This essentially means that all rbd volumes in an environment are connected to using the same credentials across all instances. This can become an issue if a single instance is compromised through a QEMU vulnerability such as:

CVE-2020-14364 QEMU: usb: out-of-bounds r/w access issue while processing usb packets
https://bugzilla.redhat.com/show_bug.cgi?id=1869201

This could give an attacker access to all volumes in an environment.

This RFE looks to improve this situation by having the rbd c-vol driver create a unique rbd user per attachment (not volume), providing that user via auth_username and dropping the secret_uuid field entirely from connection_info.

n-cpu will then need to fetch the user keyring on the compute and create a unique libvirt secret for the attachment when connecting the volume and clean up while disconnecting. I'll clone this RFE against openstack-nova shortly to cover this part of the implementation.

Comment 2 Gregory Charot 2022-01-03 16:53:05 UTC
Removing the rhos-18, this RFE will be revisit in a later release.


Note You need to log in before you can comment on or make changes to this bug.