Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeArchived Discus...Archived Discus...Developing Under Previous Versions of .NETDeveloping Under Previous Versions of .NETASP.Net 2.0ASP.Net 2.0Undocumented breaking change made to DNN Core 4.9.0Undocumented breaking change made to DNN Core 4.9.0
Previous
 
Next
New Post
10/15/2008 1:41 AM
 

Steve Fabian wrote

the change is not to restrict access to only Host and Admin accounts. If you look at the code, it is allowing access to Host and Admins account and ALSO allowing anyone to access their own account.

The code was changed to prevent someone from accessing someone else's user account.  If your client was trying to access someone else's user account details, then your client *should* have to be an admin or host.

And that was exacly what I was talkiong about. DNN's 'User Accounts' module does not allow non-admins and non-hosts to manage other users. And that is a big problem. Admins dont typically have time to manage trivial User details on Portals with large number of users (say in excess of 1000).

And that was exactly the reason for a custom Module. Limited User Account Management to Admin support staff without elevating them to the powerful Admin role.

And the Module relied on DNN's infrastructure to provide its services.

I strongly believe that this change should not have been made to the core DNN USerModuleBase class. If DNN's native User Accounts is supposed to be accessible only by Admins or Hosts, then this provision should be made in that module itself, not in the Core code.

The Core code should not dictate these Access privileges in any case. These should be done in the Module that needs to restrict its accesss.

Although the resolution was not that difficult, I simply re-shadowed the UserId property in my module to switch it back tot he old scenario, I again repeat these restrcitions should not belong to the Core but to the modules. And in any case, these should be clearly documneted.

In this entire thread, whenever I say Manage User, I mean a non-Admin with appropriate Edit rights trying to Manage Other users. A User managing himself is a trivial case.

I have created a ticket for it on Gemini.

http://support.dotnetnuke.com/issue/ViewIssue.aspx?id=8623&PROJID=23

 
New Post
10/15/2008 9:27 AM
 

DNN4 does not provide a method to grant access to admin modules to non-admins, this will be possible in DNN5. However, role permission for "publish" will be needed to selet the module from the dropdown list to add it to a page and tehre might continue some tasks are limited to members of host / admin role.


Cheers from Germany,
Sebastian Leupold

dnnWerk - The DotNetNuke Experts   German Spoken DotNetNuke User Group

Speed up your DNN Websites with TurboDNN
 
New Post
10/15/2008 9:42 AM
 

r_honey wrote
 

 Steve Fabian wrote

 

the change is not to restrict access to only Host and Admin accounts. If you look at the code, it is allowing access to Host and Admins account and ALSO allowing anyone to access their own account.

The code was changed to prevent someone from accessing someone else's user account.  If your client was trying to access someone else's user account details, then your client *should* have to be an admin or host.

 

And that was exacly what I was talkiong about. DNN's 'User Accounts' module does not allow non-admins and non-hosts to manage other users. And that is a big problem. Admins dont typically have time to manage trivial User details on Portals with large number of users (say in excess of 1000).

And that was exactly the reason for a custom Module. Limited User Account Management to Admin support staff without elevating them to the powerful Admin role.

And the Module relied on DNN's infrastructure to provide its services.

I strongly believe that this change should not have been made to the core DNN USerModuleBase class. If DNN's native User Accounts is supposed to be accessible only by Admins or Hosts, then this provision should be made in that module itself, not in the Core code.

The Core code should not dictate these Access privileges in any case. These should be done in the Module that needs to restrict its accesss.

Although the resolution was not that difficult, I simply re-shadowed the UserId property in my module to switch it back tot he old scenario, I again repeat these restrcitions should not belong to the Core but to the modules. And in any case, these should be clearly documneted.

In this entire thread, whenever I say Manage User, I mean a non-Admin with appropriate Edit rights trying to Manage Other users. A User managing himself is a trivial case.

I have created a ticket for it on Gemini.

http://support.dotnetnuke.com/issue/ViewIssue.aspx?id=8623&PROJID=23

r_honey,

i recommend you do not do this as it will in all likelyhood make it possible for your users to affect other users, and possibly escalate their account to admin or host level user permissions . The code was put in place to stop this. We may look at creating a custom user permission in a later version and adding it to the check in the userid signature to delegate user permissions, but at present without this check the changes you propose re-introduce a vulnerability.

Cathal


Buy the new Professional DNN7: Open Source .NET CMS Platform book Amazon US
 
New Post
10/15/2008 12:00 PM
 

r_honey wrote
 

The Core code should not dictate these Access privileges in any case.

Clearly the core team agrees with you here, because this sort of functionality will become possible with the 5.0 release.  However, such behavior is not supported at the 4.x level.  That your code leveraged an unsupported scenario is fine, but you can't expect full backward-compatibility for that.  You have inadvertently leveraged a design flaw, even if you philosophically disagreed with it being a flaw.  I understand that it's caused some headaches, but I'm sure you'll grant that modules which utilize bugs are probably going to break when those bugs are ultimately corrected.

Further, there is real risk with this approach.  I would be exceedingly careful in moving forward in this manner.  If at all possible, I would demur until the 5.0 release.

How lucky are you that core support for the feature that you seem to urgently require is just around the corner? 

Brandon


Brandon Haynes
BrandonHaynes.org
 
New Post
10/16/2008 12:19 AM
 

cathal connolly wrote

r_honey,

i recommend you do not do this as it will in all likelyhood make it possible for your users to affect other users, and possibly escalate their account to admin or host level user permissions . The code was put in place to stop this. We may look at creating a custom user permission in a later version and adding it to the check in the userid signature to delegate user permissions, but at present without this check the changes you propose re-introduce a vulnerability.

Cathal



I appreciate your sensitivity and your concern regarding the vulnerability I might have introduced. I see your point now. But in any case, as I require non-admins to be able to manage users. what I will do now is to substitute your Permission checking for Host or Admin privilege to just Edit privilege. This should solve the problem, as well as prevent any escalation attack.

Only authorized persons would have Edit rights to the module, and any other attack attempt would lead to a Redirection. Do you think this would solve both problems, allow Non-Admin Editing of users as well as prevent unauthorized access??
 

Brandon Haynes wrote

You have inadvertently leveraged a design flaw, even if you philosophically disagreed with it being a flaw.

How lucky are you that core support for the feature that you seem to urgently require is just around the corner? 

Brandon

Yes, at the root level, that was a flaw. Allowing user manipulation without any sort of check. But the solution again was too restrictive. What they could have done is what I have now done. Just check for Edit permissions in the Core class. Then, if a module requires stricter permissions, that could be enforced at the Module level.

Regarding lucky, I would say yes and no. Yes, because DNN 5 offers many features, that I have been looking on for sometine now (and even implemented some in my own custom modules).

No, because I believe DNN 5 to be a water-shed event. Although the core team might have tried for maximum backward compatibility, the proposed features already indicate major breaking changes. That means, you would need to test your modules (and in some cases, even recode them) from scratch.

And this applies to areas some of which would be really painful. Take an example. DNN 4.x has a glbDefualtSkin path for the traditional DNN blue skin. So, we assume that this skin would be the minimum present for any DNN installation. Already in DNN 4.9.0, Blue skin is not provided in the default package. So, that would break all code that falls-back on the Blue skin (I have some modules doing so for some reasons).

So, the minimum I would expect from the Core team would be a port of the Blue skin for DNN 5, even if that is not set as the default skin.

 
Previous
 
Next
HomeHomeArchived Discus...Archived Discus...Developing Under Previous Versions of .NETDeveloping Under Previous Versions of .NETASP.Net 2.0ASP.Net 2.0Undocumented breaking change made to DNN Core 4.9.0Undocumented breaking change made to DNN Core 4.9.0


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out