Hotmail Cross-Site Scripting Vulnerability #1

From: Rafel Ivgi, The-Insider (theinsider_at_012.net.il)
Date: 12/16/04

  • Next message: Monte Ratzlaff: "Discussion: Microsoft(R) PowerPoint “Action Settings” feature allows invocation of default browser pointed at arbitrary URL."
    Date: Thu, 16 Dec 2004 19:38:19 +0200
    To: bugtraq@securityfocus.com
    
    

    Finjan Security Advisory
    =================
    Hotmail Cross-Site Scripting Vulnerability #1

    Introduction
    ------------
    Finjan has discovered a script injection vulnerability in
    Hotmail that allows a remote attacker to execute malicious
    scripts when the victim is reading his/her mail.

    Technical Description
    ---------------------
    Hotmail’s mobile code filtering mechanism is based on an active
    content filter whose purpose is to block the injection of any
    active content into Hotmail messages. Hotmail’s filter identifies
    any possibly malicious HTML tags, properties and elements,
    and then modifies them into a non-malicious code.

    When analyzing an HTML condition comment tag
    (for example: “<![if IE gte 4]>”), Hotmail’s filter changes it to
    a comment (e.g. “<! [if IE gte 4]>”). A space character is added
    after the “!”, making the code inside the condition be treated as
    a comment rather than as an executable. Any potentially malicious
    code inside the condition is not altered.

    For example:
    <! [if IE gte 4]><style>@\im\port'\ja\vasc\ript:alert()';</style>

    In order to bypass this protection, a comment tag can be added before
    the condition tag.

    For example:
    <!-- <![if IE gte 4]><style>@\im\port'\ja\vasc\ript:alert()';</style>

    At this stage the code is harmless since Internet browsers treat
    this script as an HTML comment. However, a possible risk arises
    when an HTML condition comment tag opener (“<!”) is inserted at
    the beginning of the code.

    For example:
    <! <!-- <![if IE gte 4]><style>@\im\port'\ja\vasc\ript:alert()';</style>

    Since Hotmail’s HTML filter treats this code as a comment, it does
    not filter out the script. In contrast, Internet browsers do not
    treat this script as a comment, but rather execute the code inside
    the condition tag. In this manner, any tag that supports style,
    events or javascript execution can be used to remotely call a javascript
    file.

    The injected javascript code could be used for:
    • Automatically launching malicious code
    • Stealing the victim’s password by using a spoofed re-login window
    • Reading the victim’s inbox and contacts
    • Sending email messages without any user authorization.

    The Code (Proof of Concept)
    ----------------------cut here-----------------------
    <!
    <!--
    <![if IE gte 4]><style>@\im\port'\ja\vasc\ript:alert()';</style>
    ----------------------cut here-----------------------

    Vulnerability Status
    --------------------
    Vendor was notified on Sep 8th, 2004.
    The bug is now fixed.

    Credit
    ------
    Rafel Ivgi, Malicious Code Research Center (MCRC), Finjan Software Ltd.


  • Next message: Monte Ratzlaff: "Discussion: Microsoft(R) PowerPoint “Action Settings” feature allows invocation of default browser pointed at arbitrary URL."

    Relevant Pages

    • Hotmail Cross-Site Scripting Vulnerability #1
      ... Finjan Security Advisory ... Hotmail that allows a remote attacker to execute malicious ... In order to bypass this protection, a comment tag can be added before ... this script as an HTML comment. ...
      (Bugtraq)
    • [VulnWatch] Hotmail Cross-Site Scripting Vulnerability #1
      ... Finjan Security Advisory ... Hotmail that allows a remote attacker to execute malicious ... In order to bypass this protection, a comment tag can be added before ... this script as an HTML comment. ...
      (VulnWatch)
    • [VulnWatch] Hotmail Cross-Site Scripting Vulnerability #1
      ... Finjan Security Advisory ... Hotmail that allows a remote attacker to execute malicious ... In order to bypass this protection, a comment tag can be added before ... this script as an HTML comment. ...
      (Full-Disclosure)
    • Hotmail Cross-Site Scripting Vulnerability #1
      ... Finjan Security Advisory ... Hotmail that allows a remote attacker to execute malicious ... In order to bypass this protection, a comment tag can be added before ... this script as an HTML comment. ...
      (Full-Disclosure)
    • [Full-Disclosure] Hotmail Cross-Site Scripting Vulnerability #1
      ... Finjan Security Advisory ... Hotmail that allows a remote attacker to execute malicious ... In order to bypass this protection, a comment tag can be added before ... this script as an HTML comment. ...
      (Full-Disclosure)