-
Notifications
You must be signed in to change notification settings - Fork 25.6k
Closed
Labels
:Security/AuthorizationRoles, Privileges, DLS/FLS, RBAC/ABACRoles, Privileges, DLS/FLS, RBAC/ABAC>bugTeam:SecurityMeta label for security teamMeta label for security team
Description
An effeciency optimisation for API Key role descriptors were introduced in #58156. The optimisation introdueced a new storage format for role descriptors in metadata of the authentication object. BWC was added in the PR. However it is not sufficient to cover the following scenario:
- In v7.8, a task is created using API key which is serialised as part of the authentication header
- The cluster is upgraded to v7.9
- An upgraded node tries to run the task created in step 1, which in turn deserialises the authentication object. The task then needs to send requests using NodeClient, which serialises the authentication object again.
- When the target node is also v7.9, the authentication header is sent without rewriting the API key role descriptors in the new storage format. However, the authetication object is declared to be
v7.9. - When the target node recieves the request, it sees the authentication object is of format
v7.9. Hence it tries to process the role descriptors in the new format way and fails because they are still in the old format of v7.8.
Metadata
Metadata
Assignees
Labels
:Security/AuthorizationRoles, Privileges, DLS/FLS, RBAC/ABACRoles, Privileges, DLS/FLS, RBAC/ABAC>bugTeam:SecurityMeta label for security teamMeta label for security team