Users login

Create an account »


Users login

Home » Hacking News » Georgi Guninski security advisory #53 Version 3.0, 2002

Georgi Guninski security advisory #53 Version 3.0, 2002

by Nikola Strahija on April 29th, 2002 Microsoft released a security bulletin MS02-021 which resolves part of the vulnerabilities described in this advisory (versions 1 and 2). They fixed it over month and 1 week after I reported it to them. Their patch fixes only the Outlook and Word issues and does not fix at least the exploit path thru Excel (other office malware? ) so users should not have too much false sense of security. As I pointed on bugtraq in reply to posts which claimed this is only word issue:

> While this will prevent the reply/forward issue, it won't
> help if one receives and opens .doc or .xls attachment
> with the bug, will it?

Let me discuss the .xls issue.
It is quite similar to the .doc issue, not to say it is the same.
It is possible to embed active content in a .xls file the same way it is
done in .doc or in outlook reply/forward.

How to reproduce:

1. Put the following file empt4.xml on an accessible web server,
say at: http://msux/empt4.xml








Verify it is there by accessing the above url.
2. Create a new .xls file - say a.xls.
3. Insert in it object of type "Microsoft Office Spreadsheet 10.0" (you need to show the appropriate toolbar to do this)
4. Right click on the object -> properties
5. Click on the XMLURL property and type: http://msux/empt4.xml
(you need to change the web server name from msux)
6. A dialog box is shown claiming a file exist, this is normal,click yes.
7. In Excel choose Save As... c:b.xls
8. Exit Excel
9. At this point in c: you have b.xls and MSUX.xls. Move MSUX.xls anywhere.
10. Open c:b.xls - it again will claim MSUX.xls exists. Does not matter.
11. For me Excel crashed - this does not matter.
12. At this point you have C:MSUX.xls again - obviously it is created by b.xls
(it may also be created by itself)

Question: Can someone please tell me in which dll Microsoft Office Spreadsheet
10.0 is located? (I want to keep it for some reasons)

Corrections: (made on 3 April 2002)

At is written:
As for the second vulnerability, Microsoft said it does "not as yet have a work-around for the second issue, but note that even in the worst case it could only be used to create files -- not to execute them or take any other action on the user's computer."

I don't agree with this statement - execution of code in this case is easy.
I am waiting for a official reply from them.
The following testcase (3) shows that arbitrary may be executed.

The following must be put in HTML email which should be opened with
Outlook XP and the user should chose reply or forward.
Probably it may also be embeded in .doc or .xls file.
The effect is shown after the user logouts and logins again.

Hehe. Trying to sell trustworthy computing.

while (i--) confirm("Trustworthy?");
//x=new ActiveXObject("WScript.Shell");
//x.Run("C:WINNTSYSTEM32CMD.EXE /C DIR C: /a /p /s");


Actually there are at least two vulnerabilities in Office XP.
1. It is possible to embed active content (object + script) in HTML mail
which is triggered if the user choses reply or forward to the mail.
This opens an exploit scenario for forcing the user to visit a page
in the internet zone of IE at least. For another exploit scenario
check (2)
2. There is a bug in ms spreadsheet compononent. Namely in its Host()
function which may be exploited with the help of (1) or probably from
any document opened with Office application. This buggy function
allows creating files with arbitrary names and their content may be
specified to some extent at which is sufficient to place an
executable file (.hta) in user's startup directory which may lead to
taking full control over user's computer.
This probably may be called cross application scripting because
one application uses object from another application.

The following must be put in HTML email which should be opened with
Outlook XP and the user should chose reply or forward.



The office spreadsheet component is something like mini excel.
It may be embeded in web pages (seems not exploitable) and in
office documents (seems exploitable).
It supports the Host() function which returns the hosting object.
So if you put in formula '=Host().SaveAs("name")' file with name
shall be created.

[Note, lines may be wrapped]

Hehe. Triyng to sell trustworthy computing.


The solution is to get a real mail client and office applications.
Workaround for this particular problem is:
For (1) - disable everything that contains "active" in IE.
For (2) and (3) and (4)- (Have not tested it personally)
Deregister and delete the ms office spreadsheet component

Vendor status:

Microsoft was notified on 17 March 2002.
They had 2 weeks to produce a patch but didn't.

Georgi Guninski

Newsletter signup

Signup to our monthly newsletter and stay in touch with IT news!

Free E-books

We've got ebooks! But they're not online. :( Please give us a few days to bring downloads back.


Have something to say or just wanna drop us a line? Please keep this in mind: to spam, we reply with spam.

Contact us »