Disabling a tenant would not disable a user token
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Identity (keystone) |
Fix Released
|
High
|
Chmouel Boudjnah | ||
Folsom |
Fix Released
|
High
|
Dolph Mathews | ||
Grizzly |
Fix Released
|
High
|
Dolph Mathews | ||
OpenStack Security Notes |
Fix Released
|
High
|
Robert Clark | ||
keystone (Gentoo Linux) |
Fix Released
|
Low
|
Bug Description
Using keystone/
I would not mind to fix it but I want to make sure first if this is something done by design or I am missing something.
Here is a transcript of my tests :
# Here is the list of my tenants all enabled and nice (devstack default)
chmouel@vm:~$ keystone tenant-list
+------
| id | name | enabled |
+------
| 1f1aeeace0db41e
| b39f8b007abe472
| 64e78275f80d47f
| 13fe49ee5e0144d
+------
# Let's store the DEMO_TENANT_ID for later
chmouel@vm:~$ DEMO_TENANT=
# getting a token with this script available here http://
chmouel@vm:~$ ks localhost demo:demo ADMIN
[...]
# Using the token I can access to my swift account properly all good here.
chmouel@vm:~$ curl -i -H 'X-Auth-Token: b4b6fb5426914e1
HTTP/1.1 204 No Content
Content-Length: 0
Accept-Ranges: bytes
X-Timestamp: 1368532646.31643
X-Account-
X-Account-
Content-Type: text/html; charset=UTF-8
X-Account-
X-Trans-Id: tx390b2fb557fb4
Date: Tue, 14 May 2013 13:42:19 GMT
# Now let's try to disable that tenant
chmouel@vm:~$ keystone tenant-update --enabled false ${DEMO_TENANT}
# tenant is disabled all good
chmouel@vm:~$ keystone tenant-list
+------
| id | name | enabled |
+------
| 1f1aeeace0db41e
| b39f8b007abe472
| 64e78275f80d47f
| 13fe49ee5e0144d
+------
# we still have access with that same token since it's properly in memcache
chmouel@vm:~$ curl -i -H 'X-Auth-Token: b4b6fb5426914e1
HTTP/1.1 204 No Content
Content-Length: 0
Accept-Ranges: bytes
X-Timestamp: 1368532646.31643
X-Account-
X-Account-
Content-Type: text/html; charset=UTF-8
X-Account-
X-Trans-Id: txf9d27a7a8a034
Date: Tue, 14 May 2013 13:43:11 GMT
# let's restart memcache to clear it
chmouel@vm:~$ sudo /etc/init.
Restarting memcached: memcached.
# but we still have access.
chmouel@vm:~$ curl -i -H 'X-Auth-Token: b4b6fb5426914e1
HTTP/1.1 204 No Content
Content-Length: 0
Accept-Ranges: bytes
X-Timestamp: 1368532646.31643
X-Account-
X-Account-
Content-Type: text/html; charset=UTF-8
X-Account-
X-Trans-Id: txbe0c0caf533a4
Date: Tue, 14 May 2013 13:43:51 GMT
the json reply when validating token says that the tenant is still enabled even if it's disabled :
u'tenant': {u'description': None, u'enabled': True, u'id': u'b39f8b007abe4
Changed in keystone: | |
status: | New → Invalid |
Changed in keystone: | |
status: | Invalid → Confirmed |
information type: | Private Security → Public |
Changed in keystone: | |
assignee: | nobody → Satyanarayana Patibandla (satya-patibandla) |
Changed in keystone: | |
importance: | Undecided → Critical |
information type: | Public → Public Security |
information type: | Public Security → Public |
Changed in keystone: | |
importance: | Critical → High |
no longer affects: | ossa |
information type: | Public Security → Public |
Changed in ossn: | |
assignee: | Robert Clark (robert-clark) → Chmouel Boudjnah (chmouel) |
Changed in ossn: | |
assignee: | Chmouel Boudjnah (chmouel) → nobody |
Changed in keystone: | |
assignee: | Dolph Mathews (dolph) → Chmouel Boudjnah (chmouel) |
Changed in ossn: | |
assignee: | nobody → Robert Clark (robert-clark) |
Changed in ossn: | |
status: | New → In Progress |
Changed in keystone: | |
milestone: | none → havana-3 |
status: | Fix Committed → Fix Released |
Changed in keystone (Gentoo Linux): | |
importance: | Unknown → Low |
Changed in keystone (Gentoo Linux): | |
status: | Unknown → Fix Released |
Changed in keystone: | |
milestone: | havana-3 → 2013.2 |
Adding Keystone core devs to discuss.
There has been some bugs files already about disabling / deleting tenants and how that should propagate to tenant-related resources, so I'm not 100% sure that would constitute a vulnerability.