UAC useless after Explorer restarts
As stated in the title of this post, Windows Vista UAC does not work anymore after the Explorer (process: explorer.exe) restarts-albeit in a certain way.
I have noticed this behavior a few months ago but remember to talk about it just now. My Explorer was churning half of my CPU resources at that time, so I restarted it. I did it from Process Explorer (Sysinternals Process Explorer is a better alternative to Windows Task Manager) which has been granted "admin" privileges when it was launched. When, after restarting Explorer, I opened Registry Editor, Auslogics Disk Defrag and Device Manager, there were no UAC prompts to allow these processes to run. It was a strange thing to me; I didn't disabled the UAC and even if I did, it would take one restart to make such a drastic change in security.

A look at the process hierarchy hinted that it must have something to do with Explorer inheriting the rights from Process Explorer. I am not very familiar with how processes are handled by Windows, but it's obviously apparent that the child processes are inheriting properties from the parent process. Now that Explorer has obtained the privilege, its child processes, the processes launched from Desktop, Start Menu, or Run command, will also inherit the "admin" privilege by default even with UAC turned on.
What's the matter with this? This is the way it works by design. But, what if someone who is moderately tech savvy-know enough tools to tweak around but does not know enough to properly protect himself/herself from malwares-gets to use Process Explorer (which asks for the "admin" privilege at the launch) and restarts Explorer knowingly or by mistake or by playful habit? This is the end of UAC protection for him/her. Launching any program will not result in UAC prompt and the Internet Explorer will no longer run in Protected Mode. This is the time when a plethora of malwares can start to exert their power, and the user will be left with thinking why his/her computer is infected even when UAC is turned on and wondering how these malwares escaped the UAC; in worst case, the user will probably think UAC is nuts and will turn it off which exposes him/her even more.
In my opinion, this should NOT happen when the UAC is turned on. I know that it is by design of processes in Windows NT. Anyhow, when the UAC is turned on, Microsoft should enforce that Explorer starts or restarts with the default privileges ("non-admin" privilege) or parameters irregardless of the state of the parent process. I am not sure how hard it is to make this change but I will be very glad if Explorer is made to start with the preset parameters instead of inheriting them from the parent.
In terms of severity and impact, this is a High severity and Medium impact case.







