Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix Cinder Integration fallout from CVE-2023-2088
In the recent change to cinder, to address CVE-2023-2088, cinder changed the policy rules and behavior for unbinding, or "detaching" a volume. This was because of a vulnerability in compute nodes where a volume which was in use by a VM could be detached outside of Nova, and nova wouldn't become aware the volume was detached, and the volume could be accessible to the next VM. This vulnerability doesn't apply to bare metal operations as volumes are attached to whole baremetal nodes with Ironic. We now generate and use a service token when interacting with Cinder which allows cinder to recognize "this request is coming from a fellow OpenStack service", and by-pass checking with Nova if the "instance" is managed by Nova, or Not. This allows the volumes to be attached, and detached as needed as part of the power operation flow and overall set of lifecycle operations. Related-Bug: 2004555 Closes-Bug: 2019892 Change-Id: Ib258bc9650496da989fc93b759b112d279c8b217 (cherry picked from commit 9c0b4c9)
- Loading branch information
1 parent
b5d2fda
commit 07497e1
Showing
5 changed files
with
139 additions
and
28 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
--- | ||
fixes: | ||
- | | ||
Fixes Ironic integration with Cinder because of changes which resulted as | ||
part of the recent Security related fix in | ||
`bug 2004555 <https://launchpad.net/bugs/2004555>`_. The work in Ironic | ||
to track this fix was logged in | ||
`bug 2019892 <https://bugs.launchpad.net/ironic/+bug/2019892>`_. | ||
Ironic now sends a service token to Cinder, which allows for access | ||
restrictions added as part of the original CVE-2023-2088 | ||
fix to be appropriately bypassed. Ironic was not vulnerable, | ||
but the restrictions added as a result did impact Ironic's usage. | ||
This is because Ironic volume attachments are not on a shared | ||
"compute node", but instead mapped to the physical machines | ||
and Ironic handles the attachment life-cycle after initial | ||
attachment. |