DLL Preloading - Update Microsoft Recommendation
As with most reported vulnerabilities Microsoft has issued a response to the DLL Preloading issue that has been hotly discussed. Their advisory is interesting;
1. First they recommend disallowing outbound SMB and WEBDAV access (at the firewall) to prevent users from making preloading connections out to the Internet. This is a solid recommendation, but more in terms of general guidance instead of specifically to this issue. The problem is that a malicious user could simply zip up the affected document with a copy of the dll and the user would be able to load it locally - hdmoore provides an audit kit that even builds the dll and sample file that can be used in exactly this way. This advisory also includes disabling the client WEBDAV service which many legitimate deployed application use.
2. Second they provide a tool that changes the dynamic library loading behaviour either for the entire system or for applications that are affected. Again this issue is intended behaviour, there are applications that load DLLs at runtime from the current path in order to start appropriately. This is a solid recommendation, but their may be significant impact to your client's environment.
3. Third they recommend that developers of applications change individual application DLL loading behaviour to include explicit path definitions, and to use other routines other than DLL loading for system functionality. These recommendations can be found in this MSDN article.
I recommend organizations utilize the audit kit provided by metasploit to determine which of their applications are affected by the issue, however make sure that you check applications which might not have their extensions registered with the system as the audit kit uses these extensions to build the list of files to check. Once you know which applications are affected then make a judgement call on which ones to restrict from loading using the Microsoft tool. Additionally clients should contact each of the affected vendors to ensure that a fix to the application is provided as soon as possible.