ie8 fix
madison

Zero Day

Ryan Naraine, Emil Protalinski and Dancho Danchev

MS Outlook flaw adds new twist to URI handling saga

By | October 10, 2007, 10:25am PDT

Summary: According to Secunia’s chief technology officer Thomas Kristensen, proof-of-concept code demonstrating the Outlook issue has been sent to Microsoft to prove that this is indeed a Windows vulnerability that’s caused by a design change in Internet Explorer 7.

MS Outlook flaw adds new twist to URI handling sagaFor months, Microsoft has taken a firm hands-off approach to the URI protocol handling vulnerability saga, shrugging off suggestions that there’s a flaw in Windows that needs to be fixed.

Now comes word that two Microsoft products — Outlook Express 6 and Outlook 2000 — have joined the growing list of Windows applications that can be used as attack vectors.

According to Secunia’s chief technology officer Thomas Kristensen, proof-of-concept code demonstrating the Outlook issue has been sent to Microsoft to prove that this is indeed a Windows vulnerability that’s caused by a design change in Internet Explorer 7.

[ SEE: How to configure Internet Explorer to run securely ]

“Microsoft is now affected by [its] own design change,” Kristensen said in an e-mail exchange.” We hope that Microsoft now chooses the right path and creates a general fix for Windows [or] IE7 rather than start patching all their own applications and ask third party vendors to do the same,” he added.MS Outlook flaw adds new twist to URI handling saga

A spokesman for Redmond’s security response team said the company is aware of what is described as “a potential issue in the way that Windows handles URLs passed in from other applications.

He also dropped a strong hint that this is something that might require a comprehensive Windows fix.

“Microsoft is continuing its investigation into this issue. Once we’re done investigating, we will take appropriate action to help protect customers. This may include providing an update or additional guidance for customers.”

[UPDATE: The company has  issued a formal security advisory with more information on the risks.  The advisory does not include any pre-patch workarounds. ]

That’s a far cry from this statement from Microsoft in July:

Microsoft has thoroughly investigated the claim of a vulnerability in Internet Explorer and found that this is not a vulnerability in a Microsoft product.

An updated advisory from Secunia lists the following applications as attack vectors on fully patched Windows XP SP2 and Windows Server 2003 SP2 systems (with IE 7 installed):

  • Firefox version 2.0.0.5
  • Netscape Navigator version 9.0b2
  • mIRC version 6.3
  • Adobe Reader/Acrobat version 8.1 and prior (when opening PDF files)
  • Outlook Express 6 (e.g. when following specially crafted links in VCards)
  • Outlook 2000 (e.g. when following specially crafted links in VCards)

ALSO SEE:

Command injection flaw found in IE: Or is it Firefox?

IE-to-Firefox flaw debate rages: Ex-Microsoft security strategist weighs in

Mozilla caught napping on URL protocol handling flaw

Mozilla fixes its end of URL protocol handling saga

Adobe confirms PDF backdoor

Kick off your day with ZDNet's daily e-mail newsletter. It's the freshest tech news and opinion, served hot. Get it.

Ryan Naraine is a journalist and social media enthusiast specializing in Internet and computer security issues.

Disclosure

Ryan Naraine

The most important disclosure is of my employment with Kaspersky Lab as a member of the global research and analysis team. Kaspersky Lab is a global company specializing in anti-malware and secure content management technologies. I do not own stocks or other investments in any technology company.

Biography

Ryan Naraine

Ryan Naraine is a journalist and social media enthusiast specializing in Internet and computer security issues. He is currently security evangelist at Kaspersky Lab, an anti-malware company with operations around the globe. He is taking a leadership role in developing the company's online community initiative around secure content management technologies.

Prior to joining Kaspersky Lab, Ryan was Editor-at-Large/Security at eWEEK, leading the magazine's and Web site's coverage of Internet and computer security issues and managing the popular SecurityWatch blog, covering the daily threats, vulnerabilities and IT security technologies. He also covered IT security, hacker attacks and secure content management topics for Jupiter Media's internetnetnews.com.

Ryan can be reached at naraine SHIFT 2 gmail.com. For daily updates on Ryan's activities, follow him on Twitter.

Related Discussions on TechRepublic

Did you know you can take part in these discussions with your ZDNet membership?
40
Comments

Join the conversation!

Just In

RE: Some people should never be given the microphone...
flared0ne 8th Nov 2007
as words spoken "under the shade trees 'round the Microsoft watering hole" do poison the well when it turns out 'someone' (policy?) valued rebuttal higher than due diligence and reality-based response... Having failed the old "smell test", that 'taint' will linger on in olfactory memories...
0 Votes
+ -
nt
0 Votes
+ -
BS -- it's a FireFox bug.
Yagotta B. Kidding 10th Oct 2007
MS has investigated the whole story thoroughly, and it's someone else's problem.
0 Votes
+ -
Wow!
Cardinal_Bill 10th Oct 2007
Those FireFox people are really good! I mean they can take a fully patched Windows machine, WITHOUT their FF software installed, and compromise it using Adobe software. The article said:

An updated advisory from Secunia lists the following applications as attack vectors on fully patched Windows XP SP2 and Windows Server 2003 SP2 systems (with IE 7 installed):

# Netscape Navigator version 9.0b2
# mIRC version 6.3
# Adobe Reader/Acrobat version 8.1 and prior (when opening PDF files)
# Outlook Express 6 (e.g. when following specially crafted links in VCards)
# Outlook 2000 (e.g. when following specially crafted links in VCards)

Yep, I removed the line:

# Firefox version 2.0.0.5

And it still says the system can be attacked. Wonder how the FF people managed that? wink
0 Votes
+ -
Merde. Au contraire...
D T Schmitz 10th Oct 2007
"This page lists security vulnerabilities with direct impact on users. All of these vulnerabilities have been fixed prior to the most recent release.":

Read up!

More light reading

Twist your sister.
0 Votes
+ -
I asked George and No Axe
TripleII-21189418044173169409978279405827 10th Oct 2007
http://talkback.zdnet.com/5208-12691-0.html?forumID=1&threadID=36767&messageID=677036&start=-9939

It does make one wonder how he will spin the future event IE URL handler spoof launching Office 2007 zero day exploit in the wild into a FireFox problem.

I was wrong in my 3 month ago prediction, I selected office, not outlook, but again, there is no fault with IE, there is technically no fault in Outlook, it must be FireFox.

George, can you elaborate on your thoughts, I remember you getting quite excited with all CAPS stating that there was no MS IE problem. The problem lies 100% in third party apps (rats, turns out MS makes some of them), so the logical solution is to fix this in all 15,123 called apps or the SINGLE app doing the calling?

TripleII
0 Votes
+ -
We Know The Outcome
TheBoyBailey 11th Oct 2007
No_Axe won't even show up on this thread. George is far too excited about the OLPC at the moment to comment and even if he did his position will be that IT IS NOT AN IE PROBLEM happy

Timbo
0 Votes
+ -
The logical solution...
Resuna 11th Oct 2007
The logical solution is to change the calling sequence so you don't have to create a
quoted command line then parse it again in the handler.

Microsoft could just remove the restrictions on the POSIX subsystem so apps could
make POSIX and Win32 calls, and then use exec(), and deprecate apps that used the
old nasty Windows command line.

But no, they're too scared of UNIX/Linux/OSX to get compatible with the rest of the
world.
0 Votes
+ -
BS -- it's a Safari bug .
Intellihence 11th Oct 2007
Remember when all the Windows Shills , and Zealots all came out to Microsoft's
defense claiming this was not a Microsoft issue . Well guess what kiddos , you can't
have you cake and eat it to .


"In a world without walls and fences , who needs windows and gates."
0 Votes
+ -
It's a Windows bug.
Resuna 23rd Oct 2007
Windows URI handling is inherently flawed in two significant ways, one of which was copied by Apple in OS X and one that is unique to Windows.

* URIs are used for both internal and external purposes, selected from the same list, leaving it up to the calling application to determine if the application handling that URI should be used.

* Passing parameters to applications in Windows requires that the caller guess how the called application handles quotes.
0 Votes
+ -
The flaw is only there when IE7 is there, so therefore, there is something wrong with IE7 that caused it.
It's been Microsoft's modus for years. If they want to generate more cash flow and keep programmers, marketing, sales, etc., busy, they need flaws to fix, and new versions to produce.

If they actually had a system that worked flawlessly, the 'subscription' we all buy would no longer be needed.

If THIS problem isn't Microsoft's, there are plenty of others that are, and it's part of using their products.

I used to tell my students in marketing classes that if businesses were perfect, new graduates would have very little to offer and would have a tough time getting jobs.

It's the imperfections in the market that create opportunities.

A perfect example: Ubuntu and other Linux versions -- They are of interest because of Microsoft's less than perfect systems. If Windows was perfect, it would be the only game in town, and many other companies would be out of business (Symantec, McAfee, Redhat, Sun Microsystems, etc. etc.)
Windows command line quoting attacks have been with us for at least 10 years.

Similar schemes have been performed to exploit UNIX applications that use
"system" or the equivalent to run commands that include text from untrusted
sourced, and for SQL injection attacks.

The solution on UNIX is to use exec() rather than system(), which completely
eliminates the possibility of a command line quoting attack in parameter parsing.

The solution in SQL is to use prepared statements, which completely eliminates the
possibility of an SQL injection attack caused by quote misinterpretation.

The solution in modern Windows would be to use the POSIX subsystem's "exec()"
call, except that Microsoft isolated the POSIX subsystem from the Win32 subsystem
to make sure nobody actually used it to write software that was portable between
UNIX and Windows. There's probably some .NET call that will work for .NET
applications, and a COM API that will work for COM components, but for most
Win32 applications these are not reasonable alternatives.

But Microsoft doesn't need to worry. People will accept whatever bandaids they
come up with, and forget about this one. After all, they've put up with these kind of
shenanigans from Microsoft for a decade now... along with the other URI handling
flaws, the insecurity zones, the legacy network protocols, the lack of a consistent
mechanism (or any mechanism) to bind applications to interfaces, and the "default
open" ActiveX and helper application policies...
0 Votes
+ -
Until Windows is no longer "free"
TripleII-21189418044173169409978279405827 10th Oct 2007
Unbundle the price on every PC from the operating system. When everyone sees that Windows is not actually free, three things will happen.

1) MS will be forced to reduce prices and/or increase quality
2) Some percentage (Ye would predict 0.0003%, I would suggest 4-5%, growing slowing over the years) will purchase no OS and install Linux
3) The majority will grumble and take Vista, but it will finally help level the playing field and allow for an actual choice.

Until, seriously, there is a choice to purchase a computer without the MS tax (no, not the few and far between odd systems from SOME vendors) people really don't have a choice.

TripleII
Even when it wasn't built into the price of the box, they took advantage of the
pirate domain. They didn't go to heavy-handed DRM to keep you from copying
Windows until they were sufficiently dominant there was no alternative. If they had
to unbundle it you'd see WGA start to fade away... because they'd rather you run a
pirated copy of Windows than run Linux.

BTW, I read an article recently about an increase in Apple desktop market share
that was actually interesting from the Linux point of view... because it showed,
IIRC, 91% Windows and 6% MacOS... meaning Linux and the like (BSD, and the folks
holding out on OS/2 and BeOS, but mostly Linux) is already at 3%.
Trust Microsoft to correct probems in a timely fashion, I don't think so.
0 Votes
+ -
FireFox with NoScript
Chad_z 10th Oct 2007
Windows is the real vulnerability. A fine operating system...provided you don't connect it to the internet. Then it's a security freak show.
0 Votes
+ -
A freak show, really?
Confused by religion 10th Oct 2007
Well, I want my money back for non-performance. One virus in 10 years on all my systems and that one came from an infected floppy disk from a co-worker back in 2000.

If it is such a freak show, then I must be missing something... or is it that the non-MS OS fanboys don't know how to secure a Windows box (hint - takes about 15 minutes to completely secure it WHILE connected to the Internet).

I tend to think it is the latter.
0 Votes
+ -
Really?
middle of nowhere 10th Oct 2007
Of course you are running those systems on the internet without a firewall or
antivirus software, right?

I've done exactly that with my Macs since 1994. Not a single virus.
0 Votes
+ -
(kidding really.)
0 Votes
+ -
nt
0 Votes
+ -
Any idiot, including Linux and Mac users...
Confused by religion 11th Oct 2007
... would be completely silly not using a NAT router.

Think only Windows is susceptible to Internet attacks? Think again.

Or are you the admin of one of the hundreds of thousands (or millions if you belive the marketshare claims) of compromised poorly configured Linux servers out there?
0 Votes
+ -
Milly try sticking to the subject .
Intellihence 11th Oct 2007
This issue has nothing to do with Linux or Macs . It has to do with Microsoft , its products , and Microsoft's BS/LIES .
0 Votes
+ -
Ahhh...
Cardinal_Bill 11th Oct 2007
So you're saying to protect the Windows box I need to go out and buy another box and rely on it's Hard/Soft/Firmware. All you need do is spend the money/time/effort to get it and set it up.

I'll send this message out to my 80YO uncle in that retirement village in Florida for him to act on since his computer is tits-up again.

Brilliant response. Totally in line with what Microsoft wants everyone to do. Rely on your pocketbook rather than them to compensate for the fact the OS has holes in it.
0 Votes
+ -
Every OS has holes in it.
rtk 11th Oct 2007
MS just happens to be tried and tested by hundreds of millions every day.

If you think your OS doesn't have holes, you need to find someone more informed to help with your security.
0 Votes
+ -
Her...
Cardinal_Bill 11th Oct 2007
solution involves purchasing, installing and maintaining extra equipment. Hell...almost everybodys solution seems to be to buy more software which, also, needs to be maintained to protect the OS.

Why not just fix the baseline problem? It's the OS...

Yes, every OS has problems. But adding another layer of, possibly, misconfigured/unpatched hard/soft/firmware doesn't fix the problem of the OS.

FYI, I was maintaining security on computers back in the 80's. I started working with computers in the early 70's, so what's your point.
0 Votes
+ -
It's not so much that it *has* holes
kamahl928 11th Oct 2007
It's the fact that they sit there for years without anything more than someone saying 'Oh, we didn't accidentally fix that? That's too bad.' Both Mac & Linux will fix any flaws within a month. if it's not possible, it's gone by the next release. One bug I know has been sitting there since NT. It got through into XP, then SP1, then SP2. And I would be surprised if it was magicly in SP3.
0 Votes
+ -
And what OS
hkommedal 11th Oct 2007
... do you think is in your NAT router. Most of them are Linux-based.
0 Votes
+ -
Thanks...
Cardinal_Bill 10th Oct 2007
I needed that smile.

You made me think of a friend of mine who, years ago, was trying to rebuild/reinstall Windows on a machine after he'd scrubbed the drives because of a boot sector virus. He got through the initial load and was trying to apply patches, only problem was the system was reinfected before he could get the patches downloaded. Took him two more tries before he managed to get a fully patched, virus free, system.

Last Tuesday it was a mere 16.5MB download for the patches to my W2K machine, wonder how long that takes at dialup speed. I'll find out early next year when I get back to where the XP machine is and do it, it's in storage right now, unless I can get WiFi somewhere.
0 Votes
+ -
In that case you must be doing what I do...
BanjoPaterson 11th Oct 2007
which is run all windows inside VMWare on a robust Linux server.

Frankly - it's the only way to ensure Windows runs securely.
... in as long as I have it up (about 9 years now).

Must be tough for you to secure Windows if an old broad like me can do it and you can't. Kinda of makes you a Windows Wimp, eh?
0 Votes
+ -
"old broad"? "windows wimp"?
BanjoPaterson 11th Oct 2007
I must have hit a raw nerve for you to resort to name calling (even if one of those names is back at yourself).

You also contradict yourself "I run a secture network that has not has [sic] any virus or intrusions... ... in as long as I hjave it up (about 9 years now)" and "One virus in 10 years on all my systems and that one came from an infected floppy disk from a co-worker back in 2000." from your original post. Maybe your memory isn't what it used to be?

As for myself. I can and have secured Windows by using both software firewalls and router filewalls; as well as the usual anti-virus tools. My comment was - as both a Windows and *NIX developer - that running Windows, as an image, in a VM on Linux [provided one has backups of previous images] is an additional layer of safety. Functionally it is equivalent to a backup, except that in operation it is much quicker to copy a good image over an infected image and restart the VM than to re-install Windows and recover from backup tapes.

The more that I work with both Windows and Linux the less difference in usability and functionality I see. In fact, the relative strengths and weaknesses of both are beginning to be less differentiable between them.

However, I am aware that Windows is run by a company whose ethical values do not match mine. I don't mind businesses playing hard - heck, my business does; I don't mind businesses making money - I'd like mine to make even more; but Microsoft's illegal monopolistic practices [guilty in two courts, one in the US and one in the EU - even after appeals] means that my inclination to even want to use their products has vanished; especially since there is a truly viable alternative - Linux.
0 Votes
+ -
happy

>>> but Microsoft's illegal monopolistic practices [guilty in two courts, one in the US and one in the EU - even after appeals] >>>

According to one of MS's biggest "fans"/shills, ShadeTree, MS has not been found "guilty" of anything. It was a civil case so MS must have just been found to have been "naughty" but certainly not "guilty", despite all the criminal, unethical activity it's been proven to have committed.

http://talkback.zdnet.com/5208-11408-0.html?forumID=1&threadID=39442&messageID=726258&start=-9984

Squabbling over semantics is in itself quite revealing but if it walks like a duck, etc...

...
0 Votes
+ -
Thank you for enlightening me
BanjoPaterson 11th Oct 2007
You are correct. For example, if I lose in the divorce court I am not guilty, just poor (off topic. A line from the movie "Kenny" on matrimony: "Why don't you just cut out the middle man: find someone you hate and buy them a house")
0 Votes
+ -
I agree buddy
balaknair 11th Oct 2007
I'm not a techie or security specialist with "years" of experience like many who post here claim to be, but I must say I agree with you-
"The more that I work with both Windows and Linux the less difference in usability and functionality I see. In fact, the relative strengths and weaknesses of both are beginning to be less differentiable between them.

However, I am aware that Windows is run by a company whose ethical values do not match mine. I don't mind businesses playing hard - heck, my business does; I don't mind businesses making money - I'd like mine to make even more; but Microsoft's illegal monopolistic practices [guilty in two courts, one in the US and one in the EU - even after appeals] means that my inclination to even want to use their products has vanished; especially since there is a truly viable alternative - Linux."

I switched to Linux because of what I see as MS' unethical business practices. I did have problems with Vista, so I returned the Vista box to the vendor, but the real reason I won't ever "upgrade" to vista(even with SP-1 or -2 or whatever) is because I can't put up with MS BS EULA.
Wonder how come all my Windows using
friends, family, and acquaintances always
call me, a "non-MS OS fanboy", to "fix"
their Windows computers?

If I'm so dumb that I "don't know how to
secure a Windows box", them Windows users
must be dumber, eh?
0 Votes
+ -
SuperFreak SuperFreak....Yaooowww
D T Schmitz 10th Oct 2007
Have openSUSE, AppArmor Firefox profile, Firefox (avec NoScript mais bien sur!), will travel.

Yo Yo Ma.
0 Votes
+ -
Ooops, I did it again
Kid Icarus-21097050858087920245213802267493 12th Oct 2007
Gosh Darn, now doesn't that make all you venomous spewing Windows apologists just feel downright wishy-washy in your complete and utterly arrogant defense of MS on this subject matter?

Defend the Queen, Defend the Queen Bee!!!!!!

Can't wait to hear their spin on this one!
"Applications which pass un-validated URIs or URLs to Windows can be leveraged to exploit this vulnerability"

This is what Microsoft says. But this is clearly showing that applications are not directly responsible, even if they don't validate the URI or URL, there's absolutely no reason why Windows would not validate them itself !

Conclusion: instead of asking to all applications to validate their URI/URLs, make the validation part of the Windows API. This won't prevent the applications to validate the URIs, but at least:
* Microsoft must validate the URIs passed to all Windows API (including notably to the Shell and Internet components)
* The URI validation implemented in Windows itself should be exposed as an API, available to applications.
* The URI schemes permitted for use by each application should become part of the validation API and negociated with the security framework, including at least: domain name isolation, isolation per processes, isolation per thread (for server applications, where the connected users havedifferent privileges).
There's two related problems here, and "validating URLs" is the wrong approach. It's the approach Microsoft has taken for the continual ActiveX problems over the past decade... tightening up the restrictions on the trusted zone... and it hasn't worked.

1. Microsoft can't validate URLs because it doesn't know what applications will accept.

2. Isolation of an infected process or thread is not the solution. There's too much damage that can be done even from a sandbox unless the sandbox is so tight the application can't do anything useful.

3. The problem is twofold, and it's built in to the API: one, there's no distinction between internal URLs and external ones, and two, the Shell Execute call that is used to call helper applications is inherently unsafe.

4. The problem is not the destination of the link, it's the source. Any URI that is created internally without any input from web pages (such as internal links to help files) is safe to use any URI handler with. A URI provided by a web page or other potentially untrusted document must be only given access to a limited set of handlers.

The real solution is to change the API for calling programs so they do not re-parse the command line into components, and to distinguish between applications that are for internal use (like the help viewer) and applications that are designed to be secure.

Here's the fix:

The current ShellExecute API takes a command line as a single argument. A ShellExecuteVector call must be provided, that passes an array of strings... the command line already broken up into individual parameters. The program called with this call must call a new function to fetch the parameters as a vector of strings rather than as a single command line.

It also needs to have a parameter provided by the calling program that specifies whether the source is internal (eg, a help URI embedded in the program's configuration file) or external (eg, anything in any HTML document). If that parameter is set to internal, the old call to get the whole command line will generate a command line, properly quoted, from the vector. If it is set to external, the old call to get the whole command line will fail and the programs available will ONLY be the ones that explicitly registered as accepting untrusted URIs during install.

After some time, or if a system option is set, this last parameter will be ignored and all calls to get the whole command line in one lump will fail.

This will force the URI to be passed without an extra layer of quoting to all handlers that deal with untrusted URIs, and internal URIs will never be available to untrusted sources. Applications that want to handle both kinds of URIs and provide extra facilities to trusted ones (like, say, the ones called from Windows Update) would register two executables.
as words spoken "under the shade trees 'round the Microsoft watering hole" do poison the well when it turns out 'someone' (policy?) valued rebuttal higher than due diligence and reality-based response... Having failed the old "smell test", that 'taint' will linger on in olfactory memories...

Join the conversation!

Formatting +
BB Codes - Note: HTML is not supported in forums
  • [b] Bold [/b]
  • [i] Italic [/i]
  • [u] Underline [/u]
  • [s] Strikethrough [/s]
  • [q] "Quote" [/q]
  • [ol][*] 1. Ordered List [/ol]
  • [ul][*] · Unordered List [/ul]
  • [pre] Preformat [/pre]
  • [quote] "Blockquote" [/quote]
ie8 fix
Click Here
ie8 fix

The best of ZDNet, delivered

ZDNet Newsletters

Get the best of ZDNet delivered straight to your inbox

Facebook Activity

White Papers, Webcasts, & Resources
ie8 fix
ie8 fix