Activity log for bug #1529721

Date Who What changed Old value New value Message
2015-12-28 23:26:53 Timothy Symanczyk bug added bug
2015-12-28 23:28:02 Timothy Symanczyk keystone: assignee Timothy Symanczyk (timothy-symanczyk)
2015-12-29 22:48:05 Timothy Symanczyk bug task added oslo.policy
2015-12-29 22:48:29 Timothy Symanczyk keystone: status New Invalid
2015-12-29 22:48:36 Timothy Symanczyk oslo.policy: assignee Timothy Symanczyk (timothy-symanczyk)
2015-12-29 23:10:36 Timothy Symanczyk summary Policy rules can be incorrectly applied with unscoped tokens Attempting a RoleCheck when the credentials do not contain a roles list causes an exception
2015-12-29 23:11:02 Timothy Symanczyk description Found this bug in kilo, but have confirmed that it can still be reproduced with a fresh install of master branch as of today. To reproduce the bad behaviour : 1) Retrieve an unscoped token for any valid account. 2) Using curl - invoke list_user_projects for the SAME user from step 1 using the token from step 1, and observe that this works as expected. 3) Alter the in-use policy file by inserting "role:service or " at the beginning of the rule for list_user_projects ... < "identity:list_user_projects": "role:service or rule:admin_or_owner", --- > "identity:list_user_projects": "rule:admin_or_owner", .... Note that the addition of this 'or' clause should not be able to logically cause any additional denials. 4) Try the identical curl command from step 2 again, and observe that it now fails with 403 Forbidden. How to reproduce this bug using keystone : 1) Retrieve an unscoped token for any valid account. 2) Using curl - invoke list_user_projects for the SAME user from step 1 using the token from step 1, and observe that this works as expected. 3) Alter the in-use policy file by inserting "role:service or " at the beginning of the rule for list_user_projects ... < "identity:list_user_projects": "role:service or rule:admin_or_owner", --- > "identity:list_user_projects": "rule:admin_or_owner", .... Note that the addition of this 'or' clause should not be able to logically cause any additional denials. 4) Try the identical curl command from step 2 again, and observe that it now fails with 403 Forbidden.
2015-12-30 18:05:56 Brad Pokorny oslo.policy: status New In Progress
2016-01-07 17:17:17 Timothy Symanczyk oslo.policy: status In Progress Fix Committed
2016-10-03 18:17:05 Steve Martinelli oslo.policy: status Fix Committed Fix Released
2016-10-03 18:17:50 Steve Martinelli oslo.policy: importance Undecided Medium