MS02-052: Uma falha nas classes de JDBC da Microsoft VM pode permitir a execução de código

Traduções de Artigos Traduções de Artigos
Artigo: 329077 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Sintomas

A máquina virtual da Microsoft (VM) destina-se a versões de 32 bits do Microsoft Windows. A Microsoft VM foi incluída como parte da maioria das versões do Windows e como parte da maioria das versões do Microsoft Internet Explorer. Está disponível um novo patch para a Microsoft VM. Este patch corrige três vulnerabilidades de segurança. Os vectores de ataque para todas as vulnerabilidades são provavelmente os mesmos. Para explorar estas vulnerabilidades, um atacante poderia criar uma página da Web e, em seguida, hospedar a página Web num servidor ou enviá-la como uma mensagem de correio electrónico.

A primeira vulnerabilidade envolve as classes de interligação de bases de dados Java (JDBC, Java Database Connectivity), que fornecem funcionalidades que permitem aos programas Java ligar-se a e utilizar dados de uma grande variedade de origens de dados. Estas origens vão de ficheiros simples (flat files) a bases de dados do Microsoft SQL Server. A vulnerabilidade ocorre devido a uma falha no modo como as classes avaliam um pedido para carregar e executar uma DLL no computador de um utilizador. Apesar de as classes efectuarem verificações concebidas para garantir que apenas programas autorizados podem fazer tais pedidos, esta verificação pode ser "defraudada" pela formação propositadamente incorrecta do pedido. Isto pode permitir a um atacante carregar e executar quaisquer DLLs no computador de um utilizador.

A segunda vulnerabilidade também envolve as classes de JDBC e ocorre porque determinadas funções das classes não validam de forma correcta identificadores fornecidos como entrada. Uma utilização directa desta falha envolve o fornecimento de dados não válidos em vez de um identificador verdadeiro, durante a chamada de uma tal função. A Microsoft confirmou que este cenário pode fazer com que o Internet Explorer deixe de funcionar. A falha também pode permitir a um atacante fornecer dados que originem a execução de código no contexto de segurança do utilizador.

A terceira vulnerabilidade envolve uma classe que fornece suporte para a utilização de XML por programas Java. Esta classe expõe vários métodos. Alguns destes métodos são adequados para serem utilizados por qualquer programa, mas outros apenas devem ser utilizados por programas fidedignos. Contudo, a classe não diferencia estes casos de forma correcta e, em vez disso, disponibiliza todos os métodos a todos os programas. As funções que podem ser utilizadas de forma maliciosa devido a esta vulnerabilidade incluem funções que podem permitir a um programa efectuar praticamente qualquer acção no computador de um utilizador.

Resolução

Para resolver este problema, instale o patch descrito no seguinte artigo da base de dados de conhecimento da Microsoft (KB, Microsoft Knowledge Base):
810030 MS02-069: Uma falha na Microsoft VM poderá comprometer o Windows
A actualização de segurança 329077 foi substituída pela actualização 810030.

Esta actualização efectua as seguintes alterações ao registo:
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"
NOTA: independentemente do número de versão visualizado a partir do Jview, a chave de registo descrita anteriormente deve constituir o factor determinante para a correcta instalação deste patch. O ficheiro Msjava.dll continuará a ter a versão 5.00.3805.0000 depois de instalar este patch.

A versão inglesa desta correcção tem os atributos de ficheiro listados na seguinte tabela (ou posteriores). As datas e horas destes ficheiros são indicadas no formato de hora universal coordenada (UTC, Universal Coordinated Time). Ao visualizar as informações dos ficheiros, estas serão convertidas na hora local. Para determinar a diferença entre a hora UTC e a hora local, utilize o separador Fuso horário (Time Zone) da ferramenta Data e hora (Date and Time) do Painel de controlo (Control Panel).
   Data          Hora    Tamanho   Ficheiro
   ------------------------------------------
   18-Feb-2002   07:38     2,678   Msjdbc.cer
   21-Aug-2002   17:28   137,282   Msjdbc.zip
   16-Aug-2002   09:57    10,957   Osp.zip
				
Este ficheiros são colocados na pasta %Windir%\Java\Classes. Os ficheiros .zip comprimidos contêm as seguintes classes Java:
   21-Aug-2002   17:28   24,824  Jdbcodbc.class
   21-Aug-2002   17:28      800  Jdbcodbcboundcol.class
   21-Aug-2002   17:28    1,119  Jdbcodbcboundparam.class
   21-Aug-2002   17:28      848  Jdbcodbcbusyflag.class
   21-Aug-2002   17:28    5,193  Jdbcodbccallablestatement.class
   21-Aug-2002   17:28    8,347  Jdbcodbcconnection.class
   21-Aug-2002   17:28      447  Jdbcodbcconnectioninterface.class
   21-Aug-2002   17:28   28,036  Jdbcodbcdatabasemetadata.class
   21-Aug-2002   17:28      710  Jdbcodbcdecimal.class
   21-Aug-2002   17:28    6,096  Jdbcodbcdriver.class
   21-Aug-2002   17:28      308  Jdbcodbcdriverattribute.class
   21-Aug-2002   17:28      415  Jdbcodbcdriverinterface.class
   21-Aug-2002   17:28    2,990  Jdbcodbcinputstream.class
   21-Aug-2002   17:28      611  Jdbcodbclimits.class
   21-Aug-2002   17:28    2,339  Jdbcodbcobject.class
   21-Aug-2002   17:28    8,063  Jdbcodbcpreparedstatement.class
   21-Aug-2002   17:28      912  Jdbcodbcpseudocol.class
   21-Aug-2002   17:28   12,865  Jdbcodbcresultset.class
   21-Aug-2002   17:28      615  Jdbcodbcresultsetinterface.class
   21-Aug-2002   17:28    5,503  Jdbcodbcresultsetmetadata.class
   21-Aug-2002   17:28      523  Jdbcodbcsqlwarning.class
   21-Aug-2002   17:28    6,116  Jdbcodbcstatement.class
   21-Aug-2002   17:28    1,451  Jdbcodbctimestamp.class
   21-Aug-2002   17:28      566  Jdbcodbctypeinfo.class
   21-Aug-2002   17:28   13,595  Odbcdef.class
   28-Jul-1997   13:15      247  Accessdeniedexception.class
   28-Jul-1997   13:15      243  Conversionexception.class
   28-Jul-1997   13:15    1,033  Datasource.class
   28-Jul-1997   13:15      746  Datasourcelistener.class
   28-Jul-1997   13:15      253  Illegalargumentexception.class
   28-Jul-1997   13:15      251  Notimplementedexception.class
   28-Jul-1997   13:15    1,736  Oledbsimpleprovider.class
   28-Jul-1997   13:15    1,123  Oledbsimpleproviderlistener.class
   28-Jul-1997   13:15      384  Ospcomp.class
   28-Jul-1997   13:15      261  Ospexception.class
   28-Jul-1997   13:15      264  Ospfind.class
   28-Jul-1997   13:15      304  Ospformat.class
   28-Jul-1997   13:15      912  Ospmrshl.class
   28-Jul-1997   13:15      286  Osprw.class
   28-Jul-1997   13:15      260  Ospxfer.class
   28-Jul-1997   13:15      368  __MIDL___MIDL_ITF_SIMPDATA_0000_0001.CLASS
				

Ponto Da Situação

A Microsoft confirmou que este problema pode resultar num certo grau de vulnerabilidade da segurança na Microsoft VM.

Mais Informação

Para obter mais informações sobre esta vulnerabilidade, visite o seguinte Web site da Microsoft:
http://www.microsoft.com/technet/security/bulletin/MS02-052.asp
http://www.microsoft.com/technet/treeview/default.asp?url=/technet/security/bulletin/MS03-011.asp

Propriedades

Artigo: 329077 - Última revisão: 3 de outubro de 2004 - Revisão: 8.1
A informação contida neste artigo aplica-se a:
  • Microsoft Virtual Machine for Java
  • Microsoft Virtual Machine for Java nas seguintes plataformas
    • Microsoft Windows Millennium Edition
    • Microsoft Windows 2000 Standard Edition
    • Microsoft Windows NT 4.0
    • Microsoft Windows 98 Second Edition
    • Microsoft Windows 98 Standard Edition
Palavras-chave: 
kbbug kbfix kbsecvulnerability kbsecurity kbsecbulletin KB329077

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com