Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RolePermissions on MethodState can be bypassed #1661

Closed
1 of 5 tasks
elliot-gawthrop opened this issue Jan 11, 2022 · 0 comments · Fixed by #1831 · May be fixed by #1698
Closed
1 of 5 tasks

RolePermissions on MethodState can be bypassed #1661

elliot-gawthrop opened this issue Jan 11, 2022 · 0 comments · Fixed by #1831 · May be fixed by #1698

Comments

@elliot-gawthrop
Copy link

elliot-gawthrop commented Jan 11, 2022

Type of Issue

  • Bug
  • Enhancement
  • Compliance
  • Question
  • Help wanted

Describe the Issue
When an object is instantiated of a type that contains a method (e.g. AcknowledgeableConditionType), and the RolePermissions are set on the instantiated method, the permissions can be bypassed by instead calling the type method.

This is because when the MasterNodeManager validates the request, it validates the roles on CallMethodRequest.MethodId - which does not refer to the concrete method. Then later on if this succeeds, CustomNodeManager2 acquires the concrete MethodState by calling method = source.FindMethod(systemContext, methodToCall.MethodId);. The permissions on this method are never validated.

Is this expected behavior? How is it possible to customize the role permissions for different concrete method nodes?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment