Skip to content

No user access allowed if an entity privilege exists #12089

@mkostoevr

Description

@mkostoevr

We lack an entity check in the _vuser space filter cause the checks had been introduced in the commit af35de9, but only for spaces, functions and sequences. So when we've introduced user and role entity accesses in c46702f the filter had not been updated.

The side effect is the following code failing.

box.cfg{}
box.schema.user.create('password_updater')
box.schema.user.create('to_update_password_of')
box.schema.user.grant('password_updater', 'write', 'space', '_user')
box.schema.user.grant('password_updater', 'alter', 'user')
box.session.su('password_updater', box.schema.user.passwd, 'to_update_password_of', '1234')

Expected a successful exit, but the following error received:

2025-11-30 13:45:56.150 [22189] main [C]:-1 E> User 'to_drop' is not found {"type":"ClientError","code":45,"name":"NO_SUCH_USER","user":"to_drop","trace":[{"file":"[C]","line":4294967295}]}
2025-11-30 13:45:56.150 [22189] main say.c:85 F> fatal error, exiting the event loop

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingddl

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions