Forum Moderators: open
IE tries to compare the type of the input field to "HIDDEN", to see if it
should be rendered. When there is no type string, a null-pointer is used.
mshtml.dll calls shlwapi.dll#158 @ 0x636f0037 with a pointer to a static
unicode string "HIDDEN" and a null-pointer.
shlwapi.dll#158 does a case-insensitive comparison of two unicode strings:
it reads from address 0x0 because of the null-pointer and thus causes an
exception.
This is not exploitable, other then a DoS because there is no memory mapped
@ 0x0 and even if you could load something there, you could only compare it
to "HIDDEN" which gets you nowhere.
Is that allowed here? Soon find out I guess.
1. The lack of a <body> tag. If a body tag is present before the input tag, the browser won't crash - so you're safe from idiots pasting code into your guestbook / forum, etc.
2. The bug is caused by the empty "type" attribute.
3. It is not just IE that crashes - in fact, any program using the same libraries as IE will crash when getting this code. That means Outlook Express, or even the preview feature in Windows Explorer. This means that there is a possibility that the above-mentioned idiots will start sending HTML emails to all and sundry, making OE crash on receipt. This is nasty, and is in my opinion, the biggest rish posed by this bug.
4. You can actually crash Mozilla with a bit if code too. Try this (or rather, don't try this):
<html>
<fieldset style="position:fixed;">
<legend>Crash</legend>
</fieldset>
</html> So don't think that it's just MS who have sloppy coding!