MS02-052 : Un défaut dans les classes JDBC de la machine virtuelle Microsoft pourrait permettre l'exécution de code

Cet article a été archivé. Il est proposé « en l'état » et ne sera plus mis à jour.
Cet article peut contenir des liens vers des informations en langue anglaise (pas encore traduites).
Symptômes
La machine virtuelle Microsoft est une machine virtuelle pour les versions 32 bits de Microsoft Windows. La machine virtuelle Microsoft est fournie avec la plupart des versions de Windows et de Microsoft Internet Explorer. Un nouveau correctif est disponible pour la machine virtuelle Microsoft. Ce correctif résout trois problèmes de sécurité. Les vecteurs d'attaque de ces problèmes sont en général identiques. Pour exploiter ce problème de sécurité, un utilisateur malveillant doit créer une page Web, puis l'héberger sur un serveur ou l'envoyer dans un message électronique.

Le premier problème est lié aux classes JDBC (Java Database Connectivity), qui procurent des fonctionnalités permettant aux programmes Java de se connecter et d'utiliser des données d'une large gamme de sources (allant des fichiers plats aux bases de données Microsoft SQL Server). Ce problème est dû à un défaut dans la manière dont les classes valident une demande de chargement et d'exécution d'une DLL sur l'ordinateur d'un utilisateur. Bien que les classes effectuent des vérifications destinées à s'assurer que seuls les programmes autorisés peuvent effectuer de telles demandes, ces vérifications peuvent être contournées en formant la demande de façon spécifique et incorrecte. Cela pourrait permettre à un utilisateur malveillant de charger et d'exécuter n'importe quelle DLL sur l'ordinateur d'un utilisateur.

Le deuxième problème est également lié aux classes JDBC ; il est dû au fait que certaines fonctions des classes ne valident pas correctement les handles fournis comme entrées. L'un des moyens les plus simples d'exploiter ce défaut consiste à fournir des données non valides au lieu d'un handle lors de l'appel d'une de ces fonctions. Microsoft a confirmé que ce scénario pouvait provoquer le blocage d'Internet Explorer. Ce défaut peut également permettre à un utilisateur malveillant de fournir des données entraînant l'exécution de code dans le contexte de sécurité de l'utilisateur.

Le troisième problème concerne une classe qui fournit une prise en charge de l'utilisation de XML par des programmes Java. Cette classe expose plusieurs méthodes. Certaines de ces méthodes peuvent être utilisées par n'importe quel programme, mais d'autres ne doivent être utilisées que par des programmes de confiance. Toutefois, la classe ne différencie pas correctement ces deux cas. Au lieu de cela, elle rend toutes les méthodes disponibles à tous les programmes. Parmi les fonctions pouvant être exploitées de façon incorrecte figurent des fonctions qui pourraient autoriser un programme à effectuer pratiquement n'importe quelle opération sur l'ordinateur de l'utilisateur.
Résolution
Pour résoudre ce problème, installez le correctif décrit dans l'article suivant de la Base de connaissances Microsoft :
810030 MS02-069 : Un défaut dans la machine virtuelle Microsoft peut compromettre Windows
La mise à jour de la sécurité 329077 a été remplacée par la mise à jour 810030.

Cette mise à jour modifie le Registre de la manière suivante :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\{DBB3C81D-3C91-4a1e-BDDF-905B61C7CEDF}
="Security Update for the Microsoft VM"
"ComponentID"="JAVAVM"
"IsInstalled"=hex:01,00,00,00
"KeyFileName"="C:\\WINDOWS\\System32\\msjava.dll"
"Version"="5,00,3807,0"
REMARQUE : quel que soit le numéro de version affiché à partir de Jview, la clé de Registre décrite plus haut doit être le facteur déterminant pour l'installation correcte du correctif. La version du fichier Msjava.dll sera toujours 5.00.3805.0000 après l'installation de ce correctif.

La version anglaise de ce correctif doit avoir les attributs de fichier indiqués dans le tableau ci-dessous ou ceux d'une version ultérieure. Les date et heure de création de ces fichiers sont exprimées en temps universel coordonné (UTC). Lorsque vous affichez les informations des fichiers, les données sont converties à l'heure locale. Pour connaître le décalage entre l'heure GMT et l'heure locale, utilisez l'onglet Fuseau horaire dans l'utilitaire Date et heure du Panneau de configuration.
   Date       Heure   Taille    Nom de fichier   ------------------------------------------   18/02/02   07:38     2 678   Msjdbc.cer   21/08/02   17:28   137 282   Msjdbc.zip   16/08/02   09:57    10 957   Osp.zip				
Ces fichiers sont installés dans le dossier %Windir%\Java\Classes. Les fichiers .zip compressés contiennent les classes Java suivantes :
   21/08/02   17:28   24 824  Jdbcodbc.class   21/08/02   17:28      800  Jdbcodbcboundcol.class   21/08/02   17:28    1 119  Jdbcodbcboundparam.class   21/08/02   17:28      848  Jdbcodbcbusyflag.class   21/08/02   17:28    5 193  Jdbcodbccallablestatement.class   21/08/02   17:28    8 347  Jdbcodbcconnection.class   21/08/02   17:28      447  Jdbcodbcconnectioninterface.class   21/08/02   17:28   28 036  Jdbcodbcdatabasemetadata.class   21/08/02   17:28      710  Jdbcodbcdecimal.class   21/08/02   17:28    6 096  Jdbcodbcdriver.class   21/08/02   17:28      308  Jdbcodbcdriverattribute.class   21/08/02   17:28      415  Jdbcodbcdriverinterface.class   21/08/02   17:28    2 990  Jdbcodbcinputstream.class   21/08/02   17:28      611  Jdbcodbclimits.class   21/08/02   17:28    2 339  Jdbcodbcobject.class   21/08/02   17:28    8 063  Jdbcodbcpreparedstatement.class   21/08/02   17:28      912  Jdbcodbcpseudocol.class   21/08/02   17:28   12 865  Jdbcodbcresultset.class   21/08/02   17:28      615  Jdbcodbcresultsetinterface.class   21/08/02   17:28    5 503  Jdbcodbcresultsetmetadata.class   21/08/02   17:28      523  Jdbcodbcsqlwarning.class   21/08/02   17:28    6 116  Jdbcodbcstatement.class   21/08/02   17:28    1 451  Jdbcodbctimestamp.class   21/08/02   17:28      566  Jdbcodbctypeinfo.class   21/08/02   17:28   13 595  Odbcdef.class   28/07/97   13:15      247  Accessdeniedexception.class   28/07/97   13:15      243  Conversionexception.class   28/07/97   13:15    1 033  Datasource.class   28/07/97   13:15      746  Datasourcelistener.class   28/07/97   13:15      253  Illegalargumentexception.class   28/07/97   13:15      251  Notimplementedexception.class   28/07/97   13:15    1 736  Oledbsimpleprovider.class   28/07/97   13:15    1 123  Oledbsimpleproviderlistener.class   28/07/97   13:15      384  Ospcomp.class   28/07/97   13:15      261  Ospexception.class   28/07/97   13:15      264  Ospfind.class   28/07/97   13:15      304  Ospformat.class   28/07/97   13:15      912  Ospformat.class   28/07/97   13:15      286  Ospformat.class   28/07/97   13:15      260  Ospxfer.class   28/07/97   13:15      368  __MIDL___MIDL_ITF_SIMPDATA_0000_0001.CLASS				
Statut
Microsoft a confirmé que ce problème pouvait entraîner une certaine faille de sécurité dans la machine virtuelle Microsoft.
Plus d'informations
Pour plus d'informations sur ce problème de sécurité, reportez-vous aux sites Web de Microsoft aux adresses suivantes (en anglais) :
security_patch
Propriétés

ID d'article : 329077 - Dernière mise à jour : 01/10/2015 13:45:46 - Révision : 8.2

  • Microsoft Virtual Machine for Java
  • Microsoft Virtual Machine for Java
  • kbnosurvey kbarchive kbbug kbfix kbsecvulnerability kbsecurity kbsecbulletin KB329077
Commentaires