Summary: |
|
||||||||||||||||||||||||
The operator of glexec could configure glexec in a way that would unknowingly allow a root exploit similar to those described in reports GLEXEC-2009-0002 and GLEXEC-2009-0004. |
|||||||||||||||||||||||||
| |||||||||||||||||||||||||
Access Required: |
local user |
||||||||||||||||||||||||
This vulnerability requires local access to the machine with the ability to execute glexec. In addition the user must be in the white list of accounts permitted to use glexec. |
|||||||||||||||||||||||||
Effort Required: |
high |
||||||||||||||||||||||||
To exploit this vulnerability requires that operator introduce a certain setting in the glexec configuration file. If this is done low effort is required by an attacker. |
|||||||||||||||||||||||||
Impact/Consequences: |
high |
||||||||||||||||||||||||
The impact of this vulnerability is that the attacker gains root access on the host. |
|||||||||||||||||||||||||
Full Details: |
|
||||||||||||||||||||||||
The attacks described in GLEXEC-2009-0002 and GLEXEC-2009-0004, can be
enabled by the operator of glexec allowing environment variables beginning
with Although it is unlikely that an operator would add the following line to the glexec configuration file to enable these dangerous environment variables, it is still possible: A more likely scenario is that the operator would like users to be able to
specify locale properties through the use of the standard environment
variables: |
|||||||||||||||||||||||||
Cause: |
operational issue |
||||||||||||||||||||||||
This vulnerability is caused by improperly the operator of glexec to too easily allow a user to specify environment variables that affect code run with root privileges. These environment variable allow an attacker to gain root access. |
|||||||||||||||||||||||||
Proposed Fix: |
|
||||||||||||||||||||||||
An easy solution to this problem would be to create a list
( The better long term solution would be for glexec, LCAS, and LCMAPS to not use the environment as a form of global variables. Environment variables have historically caused security problems in system libraries especially when used in setuid programs (such as glexec). System libraries no longer use environment variables that can affect security when used in a setuid program, such as the environment variables used to control the dynamic linker and memory allocator. Since environment variables are implicit in the API to libraries, developers tend to not think about these hidden parameters they are part of the interface and subsequently tend not to control their values as well as they do for explicitly passed parameters. |
|||||||||||||||||||||||||
Acknowledgment: |
|
||||||||||||||||||||||||
This research funded in part by National Science Foundation grant OCI-0844219, NATO grant CLG 983049, and National Science Foundation grants CNS-0627501 and CNS-0716460. |