Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 40 reacties
Bron: Microsoft

Microsoft maakt melding van een beveiligingsprobleem in haar e-mail clients Outlook 98, Outlook 2000, Outlook Express 5.01 en Outlook Express 5.5.

Het probleem zit 'm in een bug in de "Virtual Business Card" binnen Outlook. Hierin zit een component waarvan de maximale string-lengte niet gedefiniŽerd is, en dit euvel zou misbruikt kunnen worden door bijvoorbeeld een buffer-overflow te creŽren en daarmee Outlook te laten crashen, maar ook zou code kunnen worden uitgevoerd op de computer waarop de betreffende Outlook-client draait, en vooral dat laatste is natuurlijk een serieus probleem. Microsoft heeft inmiddels een patch gecomponeerd, en geeft daarbij verder het volgende commentaar:

This update resolves the "Malformed vCard" security vulnerability in Outlook and Outlook Express. This vulnerability exists because the component in Outlook and Outlook Express that processes the vCard (virtual business card) has an unchecked buffer (a temporary data storage area without a string length limit).
A malicious user can exploit this vulnerability by creating a vCard that contains specially malformed data, and sending it to another user. When the recipient opens the vCard, the data overruns the buffer. This causes the e-mail program to stop functioning until it is restarted. In a more serious case, a malicious user could exploit the unchecked buffer to run unauthorized on the other user's computer.
Download now to ensure that your e-mail service processes vCards correctly.

De (engelstalige) patch is hier te vinden en natuurlijk te downloaden (343kB). Het betreffende MS Security Bulletin vind je hier.

Moderatie-faq Wijzig weergave

Reacties (40)

Tip van de dag ;) :
Ik kan iedereen aanraden om eens naar "The Bat" te kijken.
Na Outlook (dik en onveilig) Eudora (dik) en nog een paar andere, gebruik ik nu The Bat. Heeft een prettige interface, veilig, goedkoop, kan alles en nog een kleine footprint ook.
Adres:
http://www.ritlabs.com/the_bat/
Moet ik misschien ook maar eens kijken dan. Eudora lekt meer resources dan enig ander programma op mijn computer. Zou je ook onveilig kunnen noemen.
Ik gebruik niks anders meer sinds ik Calypso heb ontdekt. Het programma kan alles wat ik wil, geeft waarschuwingen bij onbetrouwbare documenten zoals .doc, de mailbox is encrypted zodat je zonder password echt niks kunt lezen (de eerste die een werkende crack voor Calypso mailboxen heeft gevonden mag het zeggen!) en werkt ook niet met een standaard adresboek.

HTML opmaak kun je gewoon netjes uit zetten, erg goede filters ook. Alleen een nadeel, het programma lijkt op een thread te lopen, dus als er automatisch gepopt wordt terwijl je aan het typen bent, lijkt hij even bevroren te zijn.
Tsjongejonge.
Het lijkt me toch wel verstandig om je source van te voren te controleren op ongedefinieerde variabelen.
Zeker als je programma wereldwijd wordt verspreid voor miljoenen gebruikers.
|:(
En dat terwijl de meeste compiler's hiervoor nog een waarschuwing geven ook
|:( |:(
Tja.. in een grote klomp code komen altijd wel bugs voor, dat is nu eenmaal niet te vermijden. Ook de alternatieven zullen wel nog diverse security bugs bevatten die nog niemand kent.

Het enige dat opvallend is dat MS toch wel eens vaker last heeft van security-related bugs.
Niet vaker, alleen eerder ontdekt en harder van de daken geschreeuwd. Waarom? omdat miljoenen mensen het gebruiken, DUS wordt het ook eerder (if at all) ontdekt.. niet meer als logisch dus (en dat is dus de prijs als je populair bent)
[Nee ik ben niet zeker niet Pro-MS]
Netscape communicator heeft ook een e-mail proggie erbij in, en ik heb nog weinig gehoord over de security-flaws in dat proggie, eigenlijk heb ik daar nog niets over gehoord, en dat terwijl het ook erg voor word gebruikt)
Het punt is dus dat outlook _veel_ meer wordt gebruikt en als je op zoek gaat naar buffer overflows(wat erg veel tijd kost, zeker als je geen source hebt) dan doe je dat dus niet in een programma, dat bijna niet gebruikt wordt, bovendien in programma's die veel gebruikt worden worden fouten ook sneller toevallig ontdekt.
Maar lang niet zoveel als outlook.
Engage!
edit:
Admins, ik wou op FoxMan reageren, kunnen jullie dit ff corrigeren?
Een buffer overflow is geen ongeinitialiseerde variabele. Het gaat om een array dat wel geinitialiseerd is, maar waarbij buiten de array grenzen geschreven wordt. Dit levert geen compiler warning op, omdat de compiler dit niet eenvoudig kan ontdekken.
Er is al zo vaak een beveiligingslek ontdekt, waarbij sprake is van een buffer-overflow bug. Je zou zeggen, dat ze onderhand beter zouden moeten weten.
Buffer overflows zijn inherent aan de manier waarop C met arrays werkt. Een array in C is een pointer naar het eerste element, als je element x indexeert, wordt bij die pointer x * sizeof(elementtype) opgeteld en dat geheugen wordt geadresseerd. De bovengrens wordt dus niet gechecked, bij dynamisch array allocatie (malloc enzo) is de bovengrens niet eens bekend. Talen als Java checken array grenzen wel, dat is een stuk veiliger maar ook iets langzamer.

Wat wel mogelijk is, is om de stack non-executable te maken. Om voor een buffer overrun een exploit te maken moet ergens code staan die uitgevoerd kan worden. Hiervoor wordt dan de buffer zelf gebruikt, die op de stack staat (als het een lokale variabele is). Het OS kan de processor (x86 in ieder geval) vertellen dat geheugen in het stack segment nooit code kan bevatten, dan krijg je een exception wanneer een exploit code op de stack wil uitvoeren. Het programma laten crashen blijft wel mogelijk.

Maar om een of andere reden wordt een non-executable stack niet vaak gebruikt. Voor Linux is er wel een patch om dit voor elkaar te krijgen, maar in de standaard kernel zit het niet. Het schijnt dat er een paar programma's zijn die een executable stack nodig hebben om te draaien.
moeten ze dan continu heel het programma nu weer na gaan kijken of er toevallig nog ergens een foutje zit??

kost heel veel tijd en super veel geld, dus dat doen ze niet, ze laten het mooi wat tweakers (gratiz) uitzoeken om dan in te kunnen grijpen.

natuurlijk is het wel een fout van de mensen die het programmeren die hadden het in eerste instantie goed moeten testen
Nog beter is om te bewijzen dat essentiŽle delen van de programmatuur correct zijn. Kost misschien meer tijd maar wel van belang.
Nog beter is om te bewijzen dat essentiŽle delen van de programmatuur correct zijn. Kost misschien meer tijd maar wel van belang
Je hebt natuurlijk helemaal gelijk, maar het probleem is dat dit heel veel meer tijd kan kosten. En dat kost natuurlijk weer geld. Als je dit goed aanpakt moet je dit al aanpakken op het moment dat je rpogramma's specificeert en dan moet je ontwikkelproces in staat zijn om vanuit die specs zowel code als testen te bouwen.

Met name dat laatste is natuurlijk niet echt eenvoudig. Definieer jij maar eens heel eenduidig wat er moet gebeuren als een gebruiker een check doet op het voorkomen van een adres in het adresboek en wat er moet gebeuren als die niet wordt gevonden. Denk dan ook even aan CC en BCC n je hebt zo een hele reeks testgevallen die je afzonderlijk moet langslopen.

Dan komt er nog het leuke verschijnsel van de grenzen van sommige datatypen en het aantal testgevallen loopt razendsnel omhoog.

Testen is heel belangrijk, maar ook heel lastig. het best is om dit al te doen tijdens het schrijven van een programma: zorg dat je afzonderlijke delen hebt die via een goed gedefinieerde interface communiceren en je kunt van die klenere stukken in ieder geval makkelijker laten zien dat ze goed werken. 1 grote kluwen is moeilijker te controleren dan een stapel nette bolletjes....
Hmm hoe lang bestaat Outlook al in zijn huidige vorm ? Onvoorstelbaar dat men nu nog tot dit soort angstwekkende ontdekkingen komt. Waar houdt t op ? :(
Hoezo angstwekkend? Een buffer overflow is niet echt een groot probleem, om daar een goeie exploit voor te schrijven moet je wel heel erg l33t zijn, anders kun je het programma alleen maar laten crashen. En ja, dat gebeurt wel vaker dus wat dat betreft zul je het niet eens merken.

Het is nou eenmaal zo dat MS software het meest gebruikt wordt, en men het beste naar bugs zoekt in deze software. Waarschijnlijk zit er in vrijwel alle software nog kleine bugs zoals deze, alleen wordt daar gewoon niet zo hard naar gezocht.

Het probleem met outlook is gewoon dat het hele principe van de werking gewoon niet secure is.
Ik denk dat er in Outlook sowieso (te) veel functies zitten die niemand gebruikt :(
Dat is het nadeel van een standaard pakket. Er zitten altijd wel functies in die iemand wel en niet gebruikt dat kun je nou eenmaal niet voorkomen. En naar mate de programma's groter worden, is dus ook de kans op dit soort fouten groter....helaas.
En daar komt dan ook .NET in the picture. Waarom zou je alles installeren als je ook alleen de door jou gebruikte componenten kunt "leasen"?
Um, als het gaat over die vCards... dat is een standaard die je vb. ook in Evolution aantreft, is eigenlijk wel handig. Bij elke mail die je stuurt krijgt de ontvanger je adres, telefoonnummer, homepage, etc. te zien (als je dat wenst tenminste).

Als je mailing lists volgt merk je dat deze feauture steeds meer en meer gebruikt wordt (net als PGP/GPG trouwens).
Ik snap niet dat mensen uberhaupt dat programma nog gebruiken voor hun mail. Elke maand worden er beveiligingsfouten ontdekt en toch blijft iedereen het gebruiken (het is wel duidelijk dat het programma nog tevol zit met vage fouten met Windows Scripting, ActiveX, enz.).

Geef mij maar Eudora, dat programma werkt lekker, doet wat ik wil en daar zijn naar mijn weten nog maar weinig beveiligingsfouten in gevonden.
Dat Microsoft een broertje dood heeft aan de beveiliging van zijn producten was me bekend. Dat dit soort beveiligingslekken zo druppelsgewijs worden ontdekt (of althans, door de media worden ontdekt) vind ik echter vreemder. Waar het in dit geval om gaat lijkt me toch niet echt iets waar de gemiddelde bugtracker een heel jaar op zit te wroeten, bijvoorbeeld.
Voordat je een bug kan tracken moet je wel weten dat er een bug is :) Er zullen ongetwijfeld in windows nog wel tigduizend van dit soort bugs zitten. Het zit 'm gewoon in het feit dat de meeste programmeurs er van uitgaan dat sommige dingen gewoon goed binnenkomen. Waar je te maken hebt met code van anderen of verkeer van het internet is dit helaas nooit het geval dus zul je al je data moeten controleren op lengtes, aantallen, verminkingen etc. Dit brengt alleen heelveel overhead met zich mee en maakt de programma's weer een stuk zwaarlijviger. Ten tweede is dit erg veel werk omdat iedereen wel eens iets over het hoofd ziet. En nee (uhhhhm) de compiler geeft niet altijd een foutmelding vooral niet als het gaat om variabele data waarvan van te voren nog niet bekend is hoe lang het gaat worden.

(Overigens ik ben niet pro microsoft maar heb als programmeur wel begrip voor dit soort dingen)
We moeten ook niet vergeten dat de meeste problemen geen bugs zijn in de zin van het woord. Het programma werkt precies zoals het zou moeten. Alleen zijn er een aantal (waarschijnlijk goedbedoelde features) die kunnen worden gebruikt voor andere zaken. Microsoft heeft (misschien een beetje naief) er niet aan gedacht dat features die de integratie van Outlook met de rest van Office of een Exchange server vergemakkelijken ook door andere programma's zoals een virus zouden kunnen worden gebruikt.

Ik vraag me trouwens af, waarom hier iedereen zo hard tegen Microsoft ageert, maar niemand schande erover spreekt dat zich een aantal onverlaten bezig houdt met het systematisch zoeken en uitbuiten van gaatjes in programma's.
Dat is nu net het probleem, die "onverlaten" zullen er altijd zijn, doen ze het niet uit hobby worden ze wel gemaakt door de mensen van Houssein...

Dus kun je er maar ook beter voor zorgen dat je alles goed in elkaar zet. hoef je later ook niet de gaten te fixen!
ipv ze nou in 1 keer alle beveiligislekken eruithalen, en 1 grote patch maken, scheelt mij weer tijd ;)
Dat is nu ook weer niet erg handig. Het probleem met een aantal van de patches is dat ze te grof zijn. Om een voorbeeld te geven: Microsoft heeft een patch tegen het gebruik van de contact list gemaakt. Resultaat: bij het synchroniseren van mijn Palm met ik voor elke persoon in de contacts afzonderlijk aangeven dat de Palm Outlook mag benaderen. Gevolg: Bij iedere keer synchroniseren 250 keer op de muis klikken.

Ik wil dus graag zelf weten welke patches ik op Outlook toepas.
Je kan er misschien wel even bijzetten dat het hier alleen om Windows98 en Me gaat..
De download verwijst ook alleen maar naar een win98 directory..
Inderdaad ik heb de update net gedownload en die werkt dus niet op Win2k. Nu vraag ik me alleen af of die update dan nog komt of dat die hier niet nodig is :?
Inderdaad ik heb de update net gedownload en die werkt dus niet op Win2k.
:?
Hier wordt ie onder Win2K SP1 (Engelse versie, net als Office 2K) gewoon geÔnstalleerd...
Beveiligingslek in outlook? joh vertel eens wat nieuws
LOL
Maar zonder dollen en het is al meer gezegd: onbegrijpelijk dat zo veel mensen dit programma nog gebruiken. Onbegrijpelijk ook dat veel bedrijven strategisch voor outlook kiezen, lang leve de werkverschaffing
De meeste hacks zijn buffer overflows. Dat gebeurt nou eenmaal. Jammergenoeg heeft Microsoft iets te veel mogelijkheden in Outlook gepropt, zodat hij ook code kan gaan uitvoeren (denk aan verstopte JavaScripts, ActiveX). Allemaal erg leuk, maar ik denk niet dat je dat zo graag in je mailtje wil. :( Meeste mailtjes bestaan toch simpel uit tekst, daar is mail voor. Maar hopen dat Microsoft snel met andertalige versies uitkomt, want dat is het nadeel aan "closed source", het hangt allemaal van Microsoft af |:(

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True