I wanted to report a vulnerability with respect to your role model handling.
It's not a highly critical one, even though it breaks your role model of course. :-)
Starting with a user only being member of Role Administrators.
Go to Administration menu -> Role Administration.
Observe that not all roles are visible in this security context, especially Administrators.
Also observe in the Administration menu that "Role Administration, Member List, Add New User" are available only.
Add New Role with a name ending in ;Admins.
Add yourself to the new group.
Now you're *implicitly member of Administrator group.
Every administrative functionality is available now in the Administration menu.
Why?
Basically, mojoPortal.Business.WebHelpers.IsInRole() splits roles via the delimiter ";". If this delimiter is now used as above, i.e. as part of the role name, then one role is interpreted as many. Looking at the code mentioned, Administrator correlates with the String Admins (see line 19).
Mitigation
Do not allow usage of the role list delimiter in the naming scheme of roles itself.
Hi guys,
I wanted to report a vulnerability with respect to your role model handling. It's not a highly critical one, even though it breaks your role model of course. :-)
Why?
Basically, mojoPortal.Business.WebHelpers.IsInRole() splits roles via the delimiter ";". If this delimiter is now used as above, i.e. as part of the role name, then one role is interpreted as many. Looking at the code mentioned, Administrator correlates with the String Admins (see line 19).
Mitigation Do not allow usage of the role list delimiter in the naming scheme of roles itself.