Dela via


Säkerhetsbulletin

Microsoft Security Bulletin MS02-040 – Kritisk

Omarkerad buffert i MDAC-funktionen kan aktivera systemkompromettering (Q326573)

Publicerad: 31 juli 2002 | Uppdaterad: 20 augusti 2003

Version: 2.0

Ursprungligen publicerad: 31 juli 2002

Uppdaterad: 20 augusti 2003

Sammanfattning

Vem bör läsa den här bulletinen: Kunder som använder Microsoft® Windows®.

Sårbarhetens inverkan: Kör valfri kod för angriparen.

Högsta allvarlighetsgrad: Kritisk

Rekommendation: Användarna bör installera säkerhetskorrigeringen omedelbart.

Programvara som påverkas:

  • Microsoft Data Access-komponenter 2.5
  • Microsoft Data Access-komponenter 2.6
  • Microsoft Data Access-komponenter 2.7

Allmän information

Teknisk information

Teknisk beskrivning:

Efter lanseringen av den här bulletinen fastställdes det att sårbarheten som åtgärdas inte är med OpenRowSet-kommandot (som är ett Microsoft SQL Server-kommando) utan snarare att sårbarheten är med den underliggande MDAC-komponenten Open Database Anslut ivity (ODBC), som finns i alla versioner av Windows. Dessutom installerades inte den ursprungliga korrigeringen som släpptes med detta korrekt på vissa system på grund av ett fel i hur Microsoft Windows Installer uppdaterade System File Protection-cachen. Bulletinen har uppdaterats för att inkludera den här ytterligare informationen och för att dirigera användare till en uppdaterad korrigering.

Obs! Korrigeringen för den här säkerhetsbulletinen har ersatts av korrigeringen i MS03-033. Kunder som söker korrigeringen för MS02-040 bör i stället installera korrigeringen för MS03-033.

MDAC är en samling komponenter som används för att tillhandahålla databasanslutning på Windows-plattformar. MDAC är en allestädes närvarande teknik, och den kommer sannolikt att finnas på de flesta Windows-system:

  • Som standard ingår MDAC som en del av Microsoft Windows XP, Windows 2000 och Windows Millennium Edition.
  • MDAC är tillgängligt för nedladdning som en fristående teknik.
  • MDAC ingår antingen i eller installeras av ett antal andra produkter och tekniker. MdAC ingår till exempel i Microsoft Windows NT® 4.0-alternativpaketet som en del av Microsoft Access och som en del av SQL Server. Vissa MDAC-komponenter finns också som en del av Microsoft Internet Explorer även om SJÄLVA MDAC inte är installerat.

MDAC tillhandahåller underliggande funktioner för ett antal databasåtgärder, till exempel att ansluta till fjärrdatabaser och returnera data till en klient. Mer specifikt är det MDAC-komponenten som kallas Open Database Anslut ivity (ODBC) som tillhandahåller den här funktionen.

En säkerhetsrisk beror på att en av ODBC-funktionerna i MDAC som används för att ansluta till datakällor innehåller en omarkerad buffert. En angripare kan försöka utnyttja säkerhetsrisken genom att skapa en webbsida som, när den besöks av användaren, kan köra den kod som angriparen väljer med användarens behörighet. Webbsidan kan finnas på en webbplats eller skickas direkt till användaren i ett e-postmeddelande.

När det gäller ett system som kör SQL Server kan en angripare försöka utnyttja den här sårbarheten med hjälp av kommandot Transact-SQL OpenRowSet . En angripare som skickar en databasfråga som innehåller en särskilt felaktig parameter i ett anrop till OpenRowSet kan köra över bufferten, antingen för att orsaka att datorn som kör SQL Server misslyckas eller för att få datorn som kör SQL Server att vidta åtgärder som dikteras av angriparen.

Förmildrande faktorer:

  • Användare som läser e-postmeddelanden som oformaterad text måste vidta en åtgärd innan en angripare kan utnyttja sårbarheten för att utnyttjas.
  • System som har konfigurerats för att inaktivera aktiv skriptning i Internet Explorer påverkas inte av den här sårbarheten.
  • I det webbaserade attackscenariot skulle en användare behöva besöka en skadlig webbplats under kontroll av en angripare. En angripare skulle inte kunna tvinga användare att besöka en skadlig webbplats utanför HTML-e-postvektorn. I stället skulle en angripare behöva locka dem dit, vanligtvis genom att få användaren att klicka på en länk som tog dem till angriparens webbplats.
  • De privilegier som erhålls genom en lyckad attack är lika med de för programmet där ODBC körs. I de flesta fall skulle en angripare bara få samma behörighetsnivå som den inloggade användaren.
  • Som standard öppnar Outlook Express 6.0 och Outlook 2002 HTML-e-post i zonen Begränsade webbplatser. Dessutom öppnar Outlook 98 och 2000 HTML-e-post i zonen Begränsade webbplatser om outlook-e-postsäkerhetsuppdateringen har installerats. Kunder som använder någon av dessa produkter riskerar inte att drabbas av en e-postburen attack som försökte utnyttja den här sårbarheten om inte användaren klickade på en skadlig länk i e-postmeddelandet.

Allvarlighetsgrad:

MDAC 2.5 Kritiskt
MDAC 2.6 Kritiskt
MDAC 2.7 Kritiskt

Ovanstående utvärdering baseras på de typer av system som påverkas av sårbarheten, deras typiska distributionsmönster och den effekt som utnyttjande av sårbarheten skulle ha på dem.

Sårbarhetsidentifierare:CVE-CAN-2002-0695

Testade versioner:

Microsoft testade MDAC 2.5, 2.6 och 2.7 för att bedöma om de påverkas av dessa säkerhetsrisker. Tidigare versioner stöds inte längre och kan påverkas eller kanske inte påverkas av dessa säkerhetsrisker.

Vanliga frågor och svar

Varför utfärdar Microsoft den här bulletinen igen?
Efter lanseringen av den här bulletinen fastställdes att säkerhetsrisken inte finns i Kommandot OpenRowSet , som är ett SQL Server-kommando. Snarare är sårbarheten med den underliggande MDAC-komponenten ODBC, som finns i alla versioner av Windows. Dessutom installerades inte den ursprungliga korrigeringen korrekt på vissa system på grund av ett fel i hur Microsoft Windows Installer uppdaterade System File Protection-cachen. Bulletinen har uppdaterats för att inkludera den här ytterligare informationen och för att dirigera användare till en uppdaterad korrigering.

Den uppdaterade korrigeringen ingår i MS03-033-bulletinen, inte den här bulletinen. Varför?
Den ursprungliga korrigeringen i den här bulletinen ersätts av korrigeringen i MS03-033. MS03-033-korrigeringen innehåller korrigeringen för den här säkerhetsrisken samt ytterligare en säkerhetsrisk som beskrivs i MS03-033. Kunder som söker korrigeringen för MS02-040 bör i stället tillämpa korrigeringen från MS03-033.

Vad är omfattningen av den här säkerhetsrisken?
Det här är en säkerhetsrisk för buffertöverskridning . En angripare som har utnyttjat den här bristen kan få fullständig kontroll över den berörda processen och därmed få möjlighet att vidta åtgärder på samma behörighetsnivå som den utnyttjade ODBC-processen under vilken den körs. Detta kan vara att skapa, ändra eller ta bort data i systemet eller konfigurera om systemet. Det kan även handla om att formatera om hårddisken eller köra program som angriparen väljer.

Vad orsakar sårbarheten?
Säkerhetsrisken beror på ett fel i Microsoft Data Access-komponenterna som tillhandahåller några av de underliggande funktioner som används för att läsa in en ODBC-drivrutin och för att ansluta till en datakälla. Den här funktionen innehåller en omarkerad buffert. En angripare kan försöka utnyttja detta med hjälp av HTML-e-post eller med hjälp av en ActiveX-kontroll. En angripare kan försöka utnyttja den här sårbarheten med hjälp av den här vektorn eftersom vissa ActiveX-kontroller ger åtkomst till MDAC-funktioner. Det kan också vara möjligt att utnyttja den här sårbarheten på system som kör SQL Server med hjälp av kommandot Transact-SQL OpenRowSet genom att skicka en databasfråga som innehåller en särskilt felaktig parameter i ett anrop till OpenRowSet.

Vad är Microsoft Data Access-komponenter?
Microsoft Data Access Components (MDAC) är en samling komponenter som gör det enkelt för program att komma åt databaser och sedan ändra data i dem. Moderna databaser kan ha olika former (till exempel SQL-databaser, Microsoft Access-databaser och XML-filer) och kan finnas på en mängd olika platser (till exempel på det lokala systemet eller på en fjärrdatabasserver). MDAC tillhandahåller en konsoliderad uppsättning funktioner för att arbeta med olika typer av datakällor på ett konsekvent sätt. En av MDAC-komponenterna kallas ODBC.

Vad är ODBC?
ODBC (Open Database Anslut ivity) är ett API (Standard Application Programming Interface) för åtkomst till en datakälla. Det är en komponent i MDAC och är ett gränssnitt som gör att program kan komma åt data i alla databaser som det finns en ODBC-drivrutin för. Genom att använda ODBC kan du skapa databasprogram med åtkomst till alla databaser som det finns en ODBC-drivrutin för. Windows innehåller till exempel drivrutiner för Microsoft Excel, Access och SQL Server.

Vad kan en angripare göra genom att utnyttja sårbarheten?
Det beror på hur angriparen körde över bufferten. Om angriparen tillhandahöll indata som körde över bufferten med slumpmässiga data kan det orsaka att angriparens program misslyckas, vilket inte skulle utgöra en säkerhetsrisk för användaren. Å andra sidan, om angriparen noggrant valde data, skulle det vara möjligt att ändra funktionerna i MDAC för att utföra alla uppgifter som angriparen angav.

  • En angripare kan försöka utnyttja säkerhetsrisken genom att skapa en webbsida som, när den besöks av användaren, skulle köra den kod som angriparen väljer med den inloggade användarens behörigheter. Webbsidan kan finnas på en webbplats eller skickas direkt till användaren i ett e-postmeddelande.
  • Det kan också vara möjligt att utnyttja den här sårbarheten med hjälp av kommandot Transact-SQL OpenRowSet. En angripare kan skicka en databasfråga som innehåller en särskilt felaktig parameter i ett anrop till OpenRowSet som kan köra över bufferten, antingen för att orsaka att servern som kör SQL Server misslyckas eller för att få SQL Server-tjänsten att vidta åtgärder som dikteras av angriparen.

Hur gör jag för att vet vilken version av korrigeringen jag behöver?
Det finns en korrigering för varje version av MDAC som stöds. I följande tabell visas vilken version av MDAC som levererades med olika Microsoft-produkter:

Version av MDAC Levereras i...
MDAC 2.5 Windows 2000, Office 2000 SR1 och senare, SQL Server 7.0 Service Pack 2 och senare
MDAC 2.6 SQL Server 2000
MDAC 2.7 Windows XP, Visual Studio .Net

Ett annat sätt att fastställa vilken version av MDAC du använder är att läsa registernyckeln HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DataAccess . FullInstallVer-nyckeln innehåller ett värde för formatet x.xx.yyyy.y, där x.xx är versionsnumret (till exempel om värdet FullInstallVer är 2.70.7713.0, är MDAC 2.7 installerat på systemet). Ett tredje sätt att fastställa versionen av MDAC är att högerklicka på filen C:\Program Files\Common Files\System\Ado\Msado15.dll , klicka på Egenskaper, klicka på fliken Version och sedan se versionsinformationen. Versionsinformationen har samma format som värdet FullInstallVer , x.xx.yyyy.y, där x.xx är versionsnumret.

Jag ser att MDAC ingick i olika versioner av Windows och Office. Innebär det att alla som använder dessa versioner av Windows eller Office behöver korrigeringen?
Ja. Eftersom många olika program använder MDAC-komponenten ODBC bör alla som använder en produkt som inkluderade MDAC tillämpa korrigeringen. MDAC är en allestädes närvarande teknik som ingår i många Microsoft-produkter:

  • Som standard ingår MDAC som en del av Microsoft Windows XP, Windows 2000 och Windows Millennium Edition.
  • MDAC är tillgängligt för nedladdning som en fristående teknik.
  • MDAC ingår antingen i eller installeras av ett antal andra produkter och tekniker. MdAC ingår till exempel i Microsoft Windows NT® 4.0-alternativpaketet som en del av Microsoft Access och som en del av SQL Server. Vissa MDAC-komponenter finns också som en del av Microsoft Internet Explorer även om SJÄLVA MDAC inte är installerat.

Det finns också ett verktyg som kan hjälpa dig att avgöra vilken version av MDAC som körs i systemet. Microsoft Knowledge Base-artikeln 307255 beskriver det här verktyget och hur du använder det.

Hur eliminerar korrigeringen säkerhetsrisken?
Korrigeringen inleder korrekt bufferthantering i den sårbara funktionen.

Korrigeringstillgänglighet

Ladda ned platser för den här korrigeringen

Den här korrigeringen har ersatts av korrigeringen i MS03-033. Användare bör tillämpa MS03-033, som också innehåller en korrigering för ytterligare säkerhetsrisker. Se avsnittet "Korrigeringstillgänglighet" i MS03-033 för nedladdningsplatsen för korrigeringen.

Ytterligare information om den här korrigeringen

Installationsplattformar:

Se avsnittet "Ytterligare information" i MS03-033 för information om installationsplattformen för den här korrigeringen.

Inkludering i framtida servicepaket:

Korrigeringen för det här problemet kommer att ingå i MDAC 2.5 Service Pack 5 och i MDAC 2.7 Service Pack 2. Korrigeringen ingår i MDAC 2.8.

Omstart krävs: Ja

Korrigering kan avinstalleras: Nej

Ersatta korrigeringar: Ingen

Verifierar korrigeringsinstallation:

Microsoft Knowledge Base-artikeln 326573 innehåller ett filmanifest som kan användas för att verifiera korrigeringsinstallationen.

Varningar:

Den här korrigeringen ersätts av säkerhetskorrigeringen för MS03-033. Användarna bör tillämpa korrigeringen som ingår i MS03-033.

Lokalisering:

Lokaliserade versioner av den här korrigeringen är tillgängliga på de platser som beskrivs i avsnittet "Korrigeringstillgänglighet" i den här bulletinen.

Hämta andra säkerhetskorrigeringar:

Korrigeringar för andra säkerhetsproblem är tillgängliga från följande platser:

  • Säkerhetskorrigeringar är tillgängliga från Microsoft Download Center och kan hittas enklast genom att göra en nyckelordssökning efter "security_patch".
  • Korrigeringar för konsumentplattformar är tillgängliga från Webbplatsen WindowsUpdate

Övrig information:

Erkännanden

Microsoft tackar David Litchfield på Next Generation Security Software Ltd. för att han rapporterade det här problemet till oss och arbetade med oss för att skydda kunder.

Support:

Säkerhetsresurser: Webbplatsen Microsoft TechNet Security innehåller ytterligare information om säkerhet i Microsoft-produkter.

Friskrivning:

Informationen som tillhandahålls i Microsoft Knowledge Base tillhandahålls "som den är" utan garanti av något slag. Microsoft frånsäger sig alla garantier, antingen uttryckliga eller underförstådda, inklusive garantier för säljbarhet och lämplighet för ett visst syfte. Under inga omständigheter ska Microsoft Corporation eller dess leverantörer vara ansvariga för eventuella skador, inklusive direkta, indirekta, tillfälliga, följdskador, förlust av företagsvinster eller särskilda skador, även om Microsoft Corporation eller dess leverantörer har informerats om risken för sådana skador. Vissa stater tillåter inte undantag eller begränsning av ansvar för följdskador eller oförutsedda skador, så den föregående begränsningen kanske inte gäller.

Revideringar:

  • V1.0 (31 juli 2002): Bulletin skapad.
  • V2.0 (20 augusti 2003): Uppdaterad för att återspegla bulletinen påverkar alla versioner av Windows och inte bara Microsoft SQL Server.

Byggd 2014-04-18T13:49:36Z-07:00