[Full-Disclosure] [HV-HIGH] MS Word multiple exceptions, at least one exploitable

Date: 10/07/04

  • Next message: Byron L. Sonne: "Re: [Full-Disclosure] Paranid ramblings - what's the deal? Bounded variables aren't?"
    To: bugtraq@securityfocus.com, full-disclosure@lists.netsys.com
    Date: Wed, 6 Oct 2004 16:53:00 -0700

    Hash: SHA1

    MS Word multiple exceptions, at least one exploitable.

    Level: low-MED-[high]-crit
    ID: HEXVIEW*2004*10*06*1

    MS Word is a highly overrated and widely used text processor, a part of
    monstrous collection of applications and de-facto platform for virus and
    worm replication known as MS Office suite.

    Affected products:
    All tests were performed using MS Word 2002 (10.6612.6714) SP3 with all
    the latest patches installed.

    Cause and Effect:
    Sufficient data validation is not performed when winword.exe parses the
    document file. As a result, it is possible to trigger an exception by
    modifying data within *.doc file.

    There are two exception types, one is triggered when winword.exe
    tries to read from invalid memory region using offset value taken from the
    document file. This exception is not exploitable.

    The second exception is more interesting and most likely exploitable.
    It is triggered by signed word->dword expansion that is later placed in
    ECX, shifted right twice, and used as counter value for MOVSD instruction.
    I.e. winword.exe code tried to copy nearly 4GB of RAM.

    Below is a fragment of an empty *.doc file. Note the sequence of 0xAA characters
    on line #3. When MS Word parsed this part of file, an exceptions occurs.
    It is possible to trigger two other "access violation" conditions by modifying
    data represented on lines #2 and #3.

    00001400: 14 00 0F 00 12 00 01 00 9C 00 0F 00 03 00 00 00 ................
    00001410: 00 00 00 00 00 00 40 00 00 40 F1 FF 02 00 40 00 ................
    00001420: AA AA AA AA AA AA AA AA AA AA AA AA 4E 00 6F 00 ............N.o.
    00001430: 72 00 6D 00 61 00 6C 00 00 00 02 00 00 00 18 00 r.m.a.l.........

    Vendor Status:
    At the time of release vendor was not aware of the vulnerability.
    HexView does not notify vendors unless there is a prior agreement to do so.
    Vendors interested in receiving notifications prior to public disclosure
    or more detailed analysis may obtain more information by writing to the
    e-mail address provided at the end of the document.

    About HexView:
    HexView contributes to online security-related lists for almost a decade.
    The scope of our expertize spreads over Windows, Linux, Sun, MacOS platforms,
    network applications, and embedded devices. The chances are you read our
    advisories or disclosures. For the sake of readability and easy web indexing
    we recently decided to use the HexView alias to publish all the information.

    This document may be freely distributed through any channels as long as the
    contents are kept unmodified. Commercial use of the information in the document
    is not allowed without written permission from HexView signed by our pgp key.

    Feedback and comments:
    Feedback and questions about this disclosure are welcome at vtalk@hexview.com

    Version: GnuPG v1.2.5 (GNU/Linux)

    -----END PGP SIGNATURE-----

    Full-Disclosure - We believe in it.
    Charter: http://lists.netsys.com/full-disclosure-charter.html

  • Next message: Byron L. Sonne: "Re: [Full-Disclosure] Paranid ramblings - what's the deal? Bounded variables aren't?"

    Relevant Pages