MS02-052: Fel i JDBC-klasser i Microsoft VM kan medföra körning av kod

Den här artikeln har arkiverats. Den erbjuds "i befintligt skick" och kommer inte längre att uppdateras.
Symptom
Microsoft VM (Virtual Machine) är en virtuell dator för 32-bitarsversioner av Microsoft Windows som ingår i de flesta versioner av Windows och Microsoft Internet Explorer. Nu finns det en ny korrigeringsfil för Microsoft VM som korrigerar tre säkerhetsproblem. Angreppsvägarna är sannolikt desamma för alla säkerhetsproblemen. För att kunna utnyttja problemen kan en angripare skapa en webbsida och lägga upp den på en server eller skicka sidan som ett e-postmeddelande.

Det första säkerhetsproblemet gäller JDBC-klasserna (Java Database Connectivity), som gör att Java-program kan ansluta till och utnyttja data från en mängd olika datakällor, alltifrån platta filer till Microsoft SQL Server-databaser. Säkerhetsproblemet beror på ett fel i behandlingen av en begäran om laddning och körning av en DLL-fil på en användares dator. Även om det finns kontroller för att säkerställa att sådana begäranden endast sker från behöriga program, är det möjligt att kringgå kontrollen genom att avsiktligt utforma en begäran felaktigt. På så vis kan en angripare ladda och köra valfri DLL-fil på en användares dator.

Det andra säkerhetsproblemet gäller också JDBC-klasserna och beror på att hanterare som matas in inte valideras på rätt sätt av funktionerna i klasserna. Ett enkelt sätt att utnyttja felet är att tillhandahålla ogiltiga data i stället för en verklig hanterare vid anrop till en sådan funktion. Microsoft har bekräftat att detta kan medföra att Internet Explorer upphör att fungera. Felet kan också göra det möjligt för en angripare att tillhandahålla data som medför att kod körs i användarens säkerhetskontext.

Det tredje säkerhetsproblemet gäller en klass som stöder användning av XML i Java-program. Klassen har ett antal metoder, varav några lämpar sig för samtliga program medan andra bara lämpar sig för tillförlitliga program. I klassen görs inte någon åtskillnad mellan dessa fall, utan alla metoder görs tillgängliga för alla program. Bland funktioner som kan missbrukas på grund av det här säkerhetsproblemet ingår funktioner som kan möjliggöra nästan vilken åtgärd som helst på användarens dator.
Lösning
Lös problemet genom att installera korrigeringsfilen som beskrivs i följande artikel i Microsoft Knowledge Base:
810030 MS02-069: Fel i Microsoft VM kan skada Windows
Säkerhetsuppdateringen 329077 har ersatts av uppdateringen 810030.

Genom den här uppdateringen görs följande ändringar i registret:
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"
Obs! Oberoende av vilket versionsnummer som visas från Jview ska installationen av den här korrigeringsfilen bestämmas av registernyckeln som beskrivs ovan. Filen Msjava.dll har fortfarande versionsnummer 5.00.3805.0000 efter installation av den här korrigeringsfilen.

Den engelska versionen av denna korrigering har de filattribut (eller senare) som visas i följande tabell. Datum och tider för dessa filer anges i UTC-tid (Coordinated Universal Time). När du visar filinformationen konverteras den till lokal tid. Du kan se skillnaden mellan UTC-tid och lokal tid med hjälp av fliken Tidszon i verktyget Datum och tid på Kontrollpanelen.
   Datum         Tid   Storlek   Filnamn   ------------------------------------------   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				
Filerna placeras i mappen %Windir%\Java\Classes. De komprimerade ZIP-filerna innehåller följande Java-klasser:
   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				
Status
Microsoft har bekräftat att det här problemet kan orsaka vissa säkerhetsproblem i Microsoft VM.
säkerhetskorrigering
Egenskaper

Artikel-id: 329077 – senaste granskning 01/10/2015 13:45:53 – revision: 8.1

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