Application credentials of other users can be deleted when knowing the ID
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Identity (keystone) |
Fix Released
|
High
|
Lance Bragstad | ||
OpenStack Security Advisory |
Won't Fix
|
Undecided
|
Unassigned |
Bug Description
Intro
-----
While performing a penetration test on a new OpenStack install of version Train, we found a vulnerability that could lead to a Denial of Service condition. Using an installation of DevStack we verified that the issue is still present.
Description
-----------
In the test situation we had two, separate, projects, each with their own user. Users were only authorised for their own project, not for the other's project.
After creating an application credential for user A, we were able to delete that credential with user B by issuing the OpenStack application credential delete command with the credential ID as parameter.
Apparently, there is no authorisation check on the delete (and show) action and anyone who knows the credential ID can remove it, potentially creating a Denial of Service attack on the affected project.
Precondition
------------
- Logged in user (user B)
- Knowing the ID of an application credential of another user (user A)
Discovered on October 8, 2020 by Arjen Zijlstra (<email address hidden>) and Arthur Donkers (arthur@1secure.nl)
description: | updated |
description: | updated |
description: | updated |
Changed in keystone: | |
importance: | Undecided → High |
Changed in keystone: | |
status: | In Progress → Fix Released |
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.