An issue was discovered in BeyondTrust Privilege Management for Windows through 5.6. When specifying a program to elevate, it can typically be found within the Program Files (x86) folder and therefore uses the %ProgramFiles(x86)% environment variable. However, when this same policy gets pushed to a 32bit machine, this environment variable does not exist. Therefore, since the standard user can create a user level environment variable, they can repoint this variable to any folder the user has full control of. Then, the folder structure can be created in such a way that a rule matches and arbitrary code runs elevated.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Privilege_management_for_windows | Beyondtrust | * | 5.6 (excluding) |
Privilege_management_for_windows | Beyondtrust | 5.6 (including) | 5.6 (including) |