MS02-052: Un difetto nelle classi JDBC di Microsoft VM potrebbe consentire l'esecuzione di codice

Identificativo articolo: 329077 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

Sintomi

Microsoft Virtual Machine (VM) è una virtual machine per le versioni a 32 bit di Microsoft Windows. Microsoft Virtual Machine è incluso come componente nella maggior parte delle versioni di Windows e nella maggior parte delle versioni di Microsoft Internet Explorer. È disponibile una nuova patch per Microsoft Virtual Machine. Tale patch consente di correggere tre problemi di protezione. I vettori per l'attacco di tutti i problemi di protezione sono probabilmente gli stessi. Per sfruttare queste vulnerabilità, un utente malintenzionato potrebbe creare una pagina Web e ospitare tale pagina in un server o inviarla come messaggio di posta elettronica.

Il primo problema di protezione coinvolge le classi JDBC (Java Database Connectivity), che mettono a disposizione funzionalità che consentono ai programmi Java di connettersi per utilizzare i dati provenienti da una grande varietà di origini dati. Queste origini comprendono file flat e database di Microsoft SQL Server. Il problema di vulnerabilità si verifica a causa di un errore nel modo in cui le classi esaminano una richiesta per il caricamento e l'esecuzione di una DLL del computer dell'utente. Anche se le classi eseguono controlli progettati per assicurarsi che solo i programmi autorizzati possano effettuare tali richieste, questa verifica può essere contraffatta formulando in modo intenzionalmente scorretto la richiesta. In questo modo un utente malintenzionato potrebbe caricare ed eseguire qualsiasi DLL nel computer dell'utente.

Anche la seconda vulnerabilità coinvolge le classi JDBC e si verifica perché determinate funzioni delle classi non convalidano in modo corretto gli handle forniti come input. Un utilizzo diretto di questo difetto include l'impiego di dati non validi invece di un vero e proprio handle durante la chiamata di una funzione. Microsoft ha confermato che questo scenario può causare l'interruzione di Internet Explorer. Il difetto potrebbe inoltre permettere a un utente malintenzionato di fornire dati che causano l'esecuzione di codice nel contesto di protezione dell'utente.

La terza vulnerabilità comprende una classe che fornisce il supporto per l'utilizzo dell'XML da parte dei programmi Java. Questa classe espone un determinato numero di metodi. Alcuni di questi metodi sono adatti per essere utilizzati da qualsiasi programma, mentre altri sono appropriati solo per programmi attendibili. La classe tuttavia non è in grado di distinguere correttamente tra questi casi e rende disponibili tutti i metodi per tutti i programmi. Le funzioni che possono essere utilizzate in modo scorretto attraverso questa vulnerabilità comprendono funzioni che potrebbero consentire a un programma di eseguire virtualmente qualsiasi operazione nel computer dell'utente.

Risoluzione

Per risolvere questo problema, installare la patch descritta nel seguente articolo della Microsoft Knowledge Base:
810030 MS02-069: Un difetto di Microsoft VM può compromettere Windows
L'aggiornamento di protezione 329077 è stato sostituito dall'aggiornamento 810030.

Questo aggiornamento apporta le seguenti modifiche al Registro di sistema:
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: indipendentemente dalla versione visualizzata da Jview, la chiave di registro appena descritta dovrebbe essere il fattore determinante per la corretta installazione di questa patch. Il file Msjava.dll continuerà ad avere il numero di versione 5.00.3805.0000 dopo l'installazione della patch.

La versione in lingua inglese di questa correzione presenta gli attributi di file elencati nella tabella seguente (o attributi successivi). Date e ore elencate di seguito sono espresse in UTC. Quando si visualizzano le informazioni sul file, l'ora viene convertita in ora locale. Per calcolare la differenza tra l'ora UTC e quella locale, utilizzare la scheda Fuso orario dello strumento Data e ora del Pannello di controllo.
   Data        Ora    Dimensione Nome file
   ----------------------------------------
   18/02/2002  07.38    2.678    Msjdbc.cer
   21/08/2002  17.28  137.282    Msjdbc.zip
   16/08/2002  09.57   10.957    Osp.zip
Questi file sono disponibili nella cartella %Windir%\Java\Classes. I file zip compressi contengono le seguenti classi Java:
   21/08/2002   17.28   24.824  Jdbcodbc.class
   21/08/2002   17.28      800  Jdbcodbcboundcol.class
   21/08/2002   17.28    1.119  Jdbcodbcboundparam.class
   21/08/2002   17.28      848  Jdbcodbcbusyflag.class
   21/08/2002   17.28    5.193  Jdbcodbccallablestatement.class
   21/08/2002   17.28    8.347  Jdbcodbcconnection.class
   21/08/2002   17.28      447  Jdbcodbcconnectioninterface.class
   21/08/2002   17.28   28.036  Jdbcodbcdatabasemetadata.class
   21/08/2002   17.28      710  Jdbcodbcdecimal.class
   21/08/2002   17.28    6.096  Jdbcodbcdriver.class
   21/08/2002   17.28      308  Jdbcodbcdriverattribute.class
   21/08/2002   17.28      415  Jdbcodbcdriverinterface.class
   21/08/2002   17.28    2.990  Jdbcodbcinputstream.class
   21/08/2002   17.28      611  Jdbcodbclimits.class
   21/08/2002   17.28    2.339  Jdbcodbcobject.class
   21/08/2002   17.28    8.063  Jdbcodbcpreparedstatement.class
   21/08/2002   17.28      912  Jdbcodbcpseudocol.class
   21/08/2002   17.28   12.865  Jdbcodbcresultset.class
   21/08/2002   17.28      615  Jdbcodbcresultsetinterface.class
   21/08/2002   17.28    5.503  Jdbcodbcresultsetmetadata.class
   21/08/2002   17.28      523  Jdbcodbcsqlwarning.class
   21/08/2002   17.28    6.116  Jdbcodbcstatement.class
   21/08/2002   17.28    1.451  Jdbcodbctimestamp.class
   21/08/2002   17.28      566  Jdbcodbctypeinfo.class
   21/08/2002   17.28   13.595  Odbcdef.class
   28/07/1997   13.15      247  Accessdeniedexception.class
   28/07/1997   13.15      243  Conversionexception.class
   28/07/1997   13.15    1.033  Datasource.class
   28/07/1997   13.15      746  Datasourcelistener.class
   28/07/1997   13.15      253  Illegalargumentexception.class
   28/07/1997   13.15      251  Notimplementedexception.class
   28/07/1997   13.15    1.736  Oledbsimpleprovider.class
   28/07/1997   13.15    1.123  Oledbsimpleproviderlistener.class
   28/07/1997   13.15      384  Ospcomp.class
   28/07/1997   13.15      261  Ospexception.class
   28/07/1997   13.15      264  Ospfind.class
   28/07/1997   13.15      304  Ospformat.class
   28/07/1997   13.15      912  Ospmrshl.class
   28/07/1997   13.15      286  Osprw.class
   28/07/1997   13.15      260  Ospxfer.class
   28/07/1997   13.15      368  __MIDL___MIDL_ITF_SIMPDATA_0000_0001.CLASS

Status

Microsoft ha confermato che questo problema potrebbe comportare rischi di protezione in Microsoft VM.

Informazioni

Per ulteriori informazioni su questa vulnerabilità, vedere i seguenti Bollettini Microsoft sulla sicurezza:
http://www.microsoft.com/technet/security/bulletin/MS02-052.mspx (informazioni in lingua inglese)
http://www.microsoft.com/italy/technet/solutions/security/ms03_014.asp

Proprietà

Identificativo articolo: 329077 - Ultima modifica: venerdì 1 ottobre 2004 - Revisione: 8.1
Le informazioni in questo articolo si applicano a
  • Microsoft Virtual Machine per Java
  • Microsoft Virtual Machine per Java alle seguenti piattaforme
    • Microsoft Windows Millennium Edition
    • Microsoft Windows 2000 Standard Edition
    • Microsoft Windows NT 4.0
    • Microsoft Windows 98 Second Edition
    • Microsoft Windows 98 Standard Edition
Chiavi: 
kbbug kbfix kbsecvulnerability kbsecurity kbsecbulletin KB329077
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti