Environment.IsPrivilegedProcess unexpectedly returns true on Windows
#84.137 aperta il 30 mar 2023
Metriche repository
- Star
- (17.886 star)
- Metriche merge PR
- (Merge medio 12g 11h) (661 PR mergiate in 30 g)
Descrizione
Description
Environment.IsPrivilegedProcess return True if process is running with runas /trustlevel:0x20000 under local administrator account on Windows.
The main reason is that the local administrator account is excluded from UAC. It is unclear whether this is a bug in the GetTokenInformation. If not, then at the very least Environment.IsPrivilegedProcess behavior should be explicitly documented.
Also, I don't know if there is this problem for Service Accounts. In this case, the problem is more unpleasant and must be corrected.
Reproduction Steps
- Run process under local administrator account
- Run subprocess with
runas /trustlevel:0x20000 - Call Environment.IsPrivilegedProcess in the subprocess
Expected behavior
Environment.IsPrivilegedProcess return FALSE
Actual behavior
Environment.IsPrivilegedProcess return TRUE
Regression?
No response
Known Workarounds
No response
Configuration
.Net 8.0 Preview 2
Other information
No response