cinder backup-list is always listing all tenants's bug for admin

Bug #1422046 reported by wuyuting
20
This bug affects 2 people
Affects Status Importance Assigned to Milestone
OpenStack Dashboard (Horizon)
Won't Fix
Undecided
Unassigned
OpenStack Security Advisory
Won't Fix
Undecided
Unassigned
ospurge
Fix Released
Undecided
Yves-Gwenael Bourhis
python-cinderclient
Fix Released
Low
Yuriy Nesenenko
python-cinderclient (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

cinder backup-list doesn't support '--all-tenants' argument for admin wright now. This lead to admin always getting all tenants's backups.

Tags: security
wuyuting (wytdahu)
Changed in python-cinderclient:
assignee: nobody → wuyuting (wytdahu)
Revision history for this message
rajiv (rajiv-kumar) wrote :

Hi

I want to work on this bug. If you are not working please let me know.

Mike Perez (thingee)
Changed in python-cinderclient:
assignee: wuyuting (wytdahu) → nobody
importance: Undecided → Low
status: New → Triaged
Revision history for this message
David Cheperdak (djbchepe) wrote :

Does this still need to be fixed?

Changed in python-cinderclient:
assignee: nobody → Yuriy Nesenenko (ynesenenko)
Changed in python-cinderclient:
status: Triaged → Confirmed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to python-cinderclient (master)

Fix proposed to branch: master
Review: https://review.openstack.org/207469

Changed in python-cinderclient:
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to python-cinderclient (master)

Reviewed: https://review.openstack.org/207469
Committed: https://git.openstack.org/cgit/openstack/python-cinderclient/commit/?id=8cc3ee2782260498cfb3d36f5469e7086b4fe6f5
Submitter: Jenkins
Branch: master

commit 8cc3ee2782260498cfb3d36f5469e7086b4fe6f5
Author: Yuriy Nesenenko <email address hidden>
Date: Thu Jul 30 16:57:39 2015 +0300

    Add support '--all-tenants' for cinder backup-list

    Also added support '--name', '--status', '--volume-id' arguments
    for cinder backup-list.

    DocImpact
    Closes-Bug: #1422046
    Depends On: I73f6377c7d6fd92d0464d13f9c8dd6682fef78e3
    Change-Id: I5f2ab6370a8333a9ee498c6158037b0433f36a23

Changed in python-cinderclient:
status: In Progress → Fix Committed
Changed in python-cinderclient:
milestone: none → 1.4.0
status: Fix Committed → Fix Released
Changed in python-cinderclient (Ubuntu):
status: New → Confirmed
Revision history for this message
Yves-Gwenael Bourhis (yves-gwenael-bourhis) wrote :

ospurge is afected by this bug, the risk is deleting backup volumes of the entire production instead of a unique tenant:
https://bugs.launchpad.net/ospurge/+bug/1498533

Changed in ospurge:
status: New → Confirmed
assignee: nobody → Yves-Gwenael Bourhis (yves-gwenael-bourhis)
Revision history for this message
Yves-Gwenael Bourhis (yves-gwenael-bourhis) wrote :

There is a potential risk of deleting all volume backups of a production system with ospurge and python-cinderclient < 1.4.0

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to ospurge (master)

Fix proposed to branch: master
Review: https://review.openstack.org/227911

Changed in ospurge:
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to ospurge (master)

Reviewed: https://review.openstack.org/227911
Committed: https://git.openstack.org/cgit/stackforge/ospurge/commit/?id=b97992d5099ce8aa9371a5b78461d11faacbea5a
Submitter: Jenkins
Branch: master

commit b97992d5099ce8aa9371a5b78461d11faacbea5a
Author: Yves-Gwenael Bourhis <email address hidden>
Date: Fri Sep 25 17:23:06 2015 +0200

    Do not list cinder backups as admin with cinderclient<1.4.0

    Due to the following bug:
    https://bugs.launchpad.net/python-cinderclient/+bug/1422046
    We do not attempt to list cinder backups as admin if cinderclient's version is
    lower than 1.4.0

    Change-Id: I570971391cff80e1d6a484c330e80f901f5210b3
    Closes-Bug: #1422046

Changed in ospurge:
status: In Progress → Fix Committed
Revision history for this message
Yves-Gwenael Bourhis (yves-gwenael-bourhis) wrote :

Horizon is affected because as long as cinderclient <1.4.0, if the user is logged in with admin permissions, the user lists all cinderbackup resources instead of the ones of his own tenant, with the reisk of tampering with ressources from another tenant/user.

Revision history for this message
Yves-Gwenael Bourhis (yves-gwenael-bourhis) wrote :

This can be a security issue, because openstack admins may not be aware that they are seeing other users' cinder backup ressources and can delete them.

information type: Public → Public Security
Revision history for this message
Jeremy Stanley (fungi) wrote :

Since this report concerns a possible security risk, an incomplete security advisory task has been added while the core security reviewers for the affected project or projects confirm the bug and discuss the scope of any vulnerability along with potential solutions.

Changed in ossa:
status: New → Incomplete
Revision history for this message
Jeremy Stanley (fungi) wrote :

It looks like bug 1514396 has been opened for the same issue in the V1 API.

Revision history for this message
Jeremy Stanley (fungi) wrote :

While I agree there is a non-negligible risk presented by this behavior, I don't see how a malicious actor could use this flaw to their advantage. As such, it doesn't seem like something for which the OpenStack Vulnerability Management Team would issue an official security advisory.

Revision history for this message
Yves-Gwenael Bourhis (yves-gwenael-bourhis) wrote :

Indeed, I agree that there is no risk for a "malicious actor" to use this flow.
However there is a confirmed risk that an openstack admin can accidentally delete backups which he should not delete (and it DID happen, sadly...), when the admin is asked to launch scripts (ospurge) used to delete resources of customers who want to remove all their data...

Revision history for this message
Jeremy Stanley (fungi) wrote :

Sounds like we're agreed that this report concerns a serious bug with security implications (insofar as any means of accidentally destroying your environment is), but is not an exploitable vulnerability, does not need a CVE assignment requested by the VMT and won't lead to any official security advisory publication.

Revision history for this message
Yves-Gwenael Bourhis (yves-gwenael-bourhis) wrote :

Sure, I completely agree with that.

There should be a way to differentiate security issues in terms of "vulnerability" (which is not the case here) and security issues in terms of "risks of destroying data" due to a bug (which is the case here).

Revision history for this message
Jeremy Stanley (fungi) wrote :

Correct, we consider that latter case a "security hardening opportunity" and I'm triaging this report as one now (class D in our taxonomy https://security.openstack.org/vmt-process.html#incident-report-taxonomy ). Depending on severity and available time from editors in the Security Team, these sorts of issues sometimes get an OpenStack Security Note published (OSSN rather than OSSA).

Changed in ossa:
status: Incomplete → Won't Fix
information type: Public Security → Public
tags: added: security
Revision history for this message
Yves-Gwenael Bourhis (yves-gwenael-bourhis) wrote :

Thanks a lot Jeremy for the the link and clarification.

Chuck Short (zulcss)
Changed in python-cinderclient (Ubuntu):
status: Confirmed → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/python-cinderclient 1.4.0

This issue was fixed in the openstack/python-cinderclient 1.4.0 release.

Changed in ospurge:
status: Fix Committed → Fix Released
Revision history for this message
Gary W. Smith (gary-w-smith) wrote :

Closing the horizon portion of this bug since it is now
outside of the support window.

Changed in horizon:
status: New → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.