Title: Flaw in Microsoft VM JDBC Classes Could Allow Code Execution (Q329077) Released: 18 September 2002 Software: Versions of the Microsoft virtual machine (Microsoft VM) Impact: Three vulnerabilities, the most serious of which could enable an attacker to gain complete control over a user's system. Max Risk: Critical Bulletin: MS02-052
Microsoft encourages customers to review the Security Bulletin at: http://www.microsoft.com/technet/security/bulletin/MS02-052.asp.
The Microsoft VM is a virtual machine for the Win32(r) operating environment. The Microsoft VM shipped as part of most versions of Windows (a complete list is available in the FAQ), as well as part of most versions of Internet Explorer. It also was available for some timeas a separate download. A new patch for the Microsoft VM is available,which eliminates three security vulnerabilities. The attack vectors forall of them would likely be the same. An attacker would likely create a web page that, when opened, exploits the desired vulnerability, and either host it on a web page or send it to a user as an HTML mail.
The first vulnerability involves the Java Database Connectivity (JDBC) classes, which provide features that allow Java applications to connect to and use data from a wide variety of data sources, ranging from flat files to SQL Server databases. The vulnerability results because of a flaw in the way the classes vet a request to load and execute a DLL on the user's system. Although the classes do perform checks that are designed to ensure that only authorized applets can levy such a request,it's possible to spoof this check by malforming the request in a particular way, thereby enable an attacker to load and execute any DLL on the user's system.
The second vulnerability also involves the JDBC classes, and results because certain functions in the classes don't correctly validate handles that are provided as input. One straightforward use of this flaw would involve supplying invalid data in lieu of an actual handle when calling such a function, Microsoft has confirmed that this scenario would cause Internet Explorer to fail. In addition, there is at least a theoretical possibility that the flaw also could enable an attacker to provide data that would have the effect of running code in the security context of the user.
The third vulnerability involves a class that provides support for the use of XML by Java applications. This class exposes a number of methods; some of these are suitable for use by any applet, while othersare only suitable for use by trusted ones. However, the class does not differentiate correctly between these cases, and instead makes all of the methods available to all applets. Among the functions that could be misused through this vulnerability are ones that would enable an applet to take virtually any desired action on the user's system.
THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.