History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: UP-1741
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Critical Critical
Assignee: Faizan Ahmed
Reporter: Faizan Ahmed
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
uPortal

RemoteUserSecurityContext exploit

Created: 18/Jun/07 02:58 PM   Updated: 22/Jun/07 03:37 PM
Component/s: Authentication, Authorization
Affects Version/s: 2.1.1, 2.1.2, 2.1.4, 2.1.3, 2.1, 2.1.5, 2.2, 2.2.1, 2.3, 2.3.1, 2.3.2, 2.3.3, 2.3.4, 2.3.5, 2.4, 2.4.1, 2.4.2, 2.5.0 M1, 2.5.1 RC1, 2.5.0 RC1, 2.5.0 RC3, 2.5.0 RC2, 2.5.0 GA, 2.5.1 RC2, 2.5.2 RC1, 2.4.4, 2.4.3, 2.5.1 RC3, 2.5.1 GA, 2.4.3.1, 2.5.3 RC1, 2.5.2 GA, 2.5.3 RC2, 2.5.3 RC3, 2.5.3 GA
Fix Version/s: 2.5.4, 2.5.3.1

Original Estimate: Unknown Remaining Estimate: Unknown Time Spent: Unknown
File Attachments: 1. Text File remoteuser.patch (2 kb)

Issue Links:
Duplicate
This issue duplicates:
UP-1723 RemoteUserSecurityContext exploit Critical Closed
 


 Description  « Hide
*Summary:*
RemoteUserSecurityContext may allow an authenticated user to
authenticate as another user knowing only that user's account name. A
patch for this vulnerability is attached to this message.

*Issue:*
The vulnerability is exposed when the RemoteUserSecurityContextFactory
is used in conjunction with another security context factory under the
UnionSecurityContextFactory. The result of this configuration is any
user that can access uPortal with REMOTE_USER set can become any other
portal user.

If authentication is attempted with the other security context the
provided user id will be set on the principal, when the
RemoteUserSecurityContext executes it attempts to set the user id of the
principal to the REMOTE_USER and returns that the principal is
authenticated. Since the principal already has a user id set the setting
by RemoteUserSecurityContext fails silently, resulting in an
authenticated principal with the user id provided by the attacker, not
the value specified in the REMOTE_USER field.

An example vulnerable configuration from security.properties:
root=org.jasig.portal.security.provider.UnionSecurityContextFactory
root.a=org.jasig.portal.security.provider.RemoteUserSecurityContextFactory
root.b=org.jasig.portal.security.provider.SimpleSecurityContextFactory

*Versions Affected:*
All (2.0, 2.1, 2.2, 2.3, 2.4, 2.5)



 All   Comments   Work Log   Change History   FishEye      Sort Order:
Faizan Ahmed [18/Jun/07 02:59 PM]
Resolution:
The resolution involves adding a check to RemoteUserSecurityContext to
verify the setting of the REMOTE_USER user id was successful for the
principal. If it was not the RemoteUserSecurityContext will not mark the
principal as authenticated.

Patching:
The attached patch should be applied to the file
/uPortal/source/org/jasig/portal/security/provider/RemoteUserSecurityContext.java

After application of the patch compile and deploy the file to the
application server.


Faizan Ahmed [18/Jun/07 04:02 PM]
The Remote User security vulnerability workaround patch.

Andrew Petro [18/Jun/07 05:17 PM]
UP-1723 tracks this issue in uPortal 2.6.0 where it is resolved for 2.6.0 GA. UP-1741 tracks this issue in prior uPortal releases where it is resolved for 2.5.3.1.