So, Microsoft has released version 7.0 of Internet Explorer a few weeks ago. The new version introduced some nice security features like "ActiveX opt-in", "Better add-on management", "Phishing filter" and more. But even with those new security features, IE7 is still heaven for spyware writers.
The new version of Internet Explorer is vulnerable to a DLL-load hijacking. When IE7 is executed it will load several DLL files. While trying to load some of those files, it does not provide the full path of the DLL file to the function which loads the DLL file to the memory, and therefore Windows will search for this file in the user's machine using the directories provided in the PATH environment variable, and will load the first match it will found.
Today, most desktop security products include a generic detection for changes in the startup folder and startup registry keys, in order to catch malicious code trying to load when the users boot his machine.
Now, all the attacker has to do to bypass this detection is to put a malicious DLL file (or just a downloader DLL of a malicious file) in one of the PATH directories (e.g. the user's desktop), and the next time the user will run IE7 the code of the attacker's file will be executed instead of the original DLL file.
Moreover, the attacker can hide the DLL file, by setting an hidden file attribute. As most users have the option of not showing hidden files enabled (this is the default settings), it will not show them the malicious file on the user's desktop, but still IE7 will load the DLL file.
This vulnerability also can be used instead of registering Browser Help Objects (which some of the security products also monitor), as the DLL will run in the context of IE7 process.
I've reported this to Microsoft few days ago. Their response: "If the attacker can put a dll on the box in a location that is in the user's PATH variable, then they already own the box. ".
While this is true in most cases, the user will still think he is secure with his desktop security products installed, which is not true as this vulnerability allows spyware writers to execute code automatically without changing startup and BHO information.
As Microsoft intends to fix this issue only in future releases of their OS (according to their response), I encourage security vendors to update their products to detect this behavior as soon as possible.