alter: add a missing CREATE access check
Add a missing CREATE access check. Update tests. Update a comment. Fix a security issue when a user who had read/write access to system spaces could create any object, even while lacking CREATE privilege. The issue was caused by a misleading access check in access_check_ddl which would grant access to the owner of the object. But in case of CREATE the owner of the object is the effective user alraedy, so CREATE access was always granted. In case of CREATE, ignore the definer user id in access_check_ddl() - it is irrelevant, since we create a *new* object. Update tests. In scope of gh-945
Showing
- src/box/alter.cc 15 additions, 12 deletionssrc/box/alter.cc
- test/box/access.result 23 additions, 1 deletiontest/box/access.result
- test/box/access.test.lua 12 additions, 1 deletiontest/box/access.test.lua
- test/box/access_escalation.result 3 additions, 0 deletionstest/box/access_escalation.result
- test/box/access_escalation.test.lua 1 addition, 0 deletionstest/box/access_escalation.test.lua
- test/box/access_misc.result 6 additions, 0 deletionstest/box/access_misc.result
- test/box/access_misc.test.lua 2 additions, 0 deletionstest/box/access_misc.test.lua
- test/box/net.box.result 6 additions, 0 deletionstest/box/net.box.result
- test/box/net.box.test.lua 2 additions, 0 deletionstest/box/net.box.test.lua
- test/box/sequence.result 11 additions, 5 deletionstest/box/sequence.result
- test/box/sequence.test.lua 4 additions, 1 deletiontest/box/sequence.test.lua
Loading
Please register or sign in to comment