[ 
https://issues.apache.org/jira/browse/VCL-1058?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andy Kurth updated VCL-1058:
----------------------------
    Description: 
There are some problems regarding how user accounts created on a computer 
assigned to a server request are handled when users are removed from the a user 
group configured for the server request.

When a server request is loaded, users in both the _admin_ and _access_ user 
groups are added to the computer.  When either of these groups is modified, 
either by specifying a different user group or by modifying the membership of a 
user group already configured for the request, the frontend triggers the 
backend to process the _servermodified_ state.

Tracing through the code, all that is occurring when this state is processed is 
the execution of the OS module's _add\_user\_accounts_ subroutine, which checks 
the server request groups and adds accounts as necessary.

{color:red}*Users who are removed from the _admin_ group and added to the 
_access_ group retain sudo/root/Administrator access*{color} because the code 
first checks to see if the user already exist.  If so, it does nothing.

Conversely, users who were ever in the _access_ group and added to the _admin_ 
group *do not get sudo/root/Administrator when they should*.

In addition, {color:red}*user accounts added for server requests are not 
properly removed if an image or revision is captured for that server 
request*{color}.  The _pre\_caputure_ subroutines in Linux.pm and Windows.pm 
are only calling the _delete\_user()_ subroutine which only deletes the user 
who owns the request.  These should instead call _delete\_user\_accounts()_ 
which deletes additional users in the server request groups.

  was:
There are some *major security problems* regarding how user accounts created on 
a computer assigned to a server request are handled when users are removed from 
the a user group configured for the server request.

When a server request is loaded, users in both the _admin_ and _access_ user 
groups are added to the computer.  When either of these groups is modified, 
either by specifying a different user group or by modifying the membership of a 
user group already configured for the request, the frontend triggers the 
backend to process the _servermodified_ state.

Tracing through the code, all that is occurring when this state is processed is 
the execution of the OS module's _add\_user\_accounts_ subroutine, which checks 
the server request groups and adds accounts as necessary.  Nothing in this 
subroutine checks for users previously added to the computer which are no 
longer members of either of the server request user groups.  As a result, 
{color:red}users who were previously members of either the _admin_ or _access_ 
group will still have access to the computer when they no longer should.  
*Previous members of the _admin_ user group will have sudo/root/Administrator 
access*.{color}

Users who are removed from the _admin_ group and added to the _access_ group 
retain sudo/root/Administrator access because the code first checks to see if 
the user already exist.  If so, it does nothing.

Conversely, users who were ever in the _access_ group and added to the _admin_ 
group *do not get sudo/root/Administrator when they should*.

In addition, {color:red}user accounts added for server requests are not being 
properly being removed if an image or revision is captured for that server 
request{color}.  The _pre\_caputure_ subroutines in Linux.pm and Windows.pm are 
only calling the _delete\_user()_ subroutine which only deletes the user who 
owns the request.  These should instead call _delete\_user\_accounts()_ which 
deletes additional users in the server request groups.


> User accounts not deleted on computer when removed from a server request 
> admin or access group
> ----------------------------------------------------------------------------------------------
>
>                 Key: VCL-1058
>                 URL: https://issues.apache.org/jira/browse/VCL-1058
>             Project: VCL
>          Issue Type: Bug
>          Components: vcld (backend)
>    Affects Versions: 2.4.2
>            Reporter: Andy Kurth
>            Assignee: Andy Kurth
>             Fix For: 2.5
>
>
> There are some problems regarding how user accounts created on a computer 
> assigned to a server request are handled when users are removed from the a 
> user group configured for the server request.
> When a server request is loaded, users in both the _admin_ and _access_ user 
> groups are added to the computer.  When either of these groups is modified, 
> either by specifying a different user group or by modifying the membership of 
> a user group already configured for the request, the frontend triggers the 
> backend to process the _servermodified_ state.
> Tracing through the code, all that is occurring when this state is processed 
> is the execution of the OS module's _add\_user\_accounts_ subroutine, which 
> checks the server request groups and adds accounts as necessary.
> {color:red}*Users who are removed from the _admin_ group and added to the 
> _access_ group retain sudo/root/Administrator access*{color} because the code 
> first checks to see if the user already exist.  If so, it does nothing.
> Conversely, users who were ever in the _access_ group and added to the 
> _admin_ group *do not get sudo/root/Administrator when they should*.
> In addition, {color:red}*user accounts added for server requests are not 
> properly removed if an image or revision is captured for that server 
> request*{color}.  The _pre\_caputure_ subroutines in Linux.pm and Windows.pm 
> are only calling the _delete\_user()_ subroutine which only deletes the user 
> who owns the request.  These should instead call _delete\_user\_accounts()_ 
> which deletes additional users in the server request groups.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to