module

Firefox 5.0 - 15.0.1 __exposedProps__ XCS Code Execution

Disclosed
08/06/2013
Created
05/30/2018

Description

On versions of Firefox from 5.0 to 15.0.1, the InstallTrigger global, when given
invalid input, would throw an exception that did not have an __exposedProps__
property set. By re-setting this property on the exception object's prototype,
the chrome-based defineProperty method is made available.

With the defineProperty method, functions belonging to window and document can be
overridden with a function that gets called from chrome-privileged context. From here,
another vulnerability in the crypto.generateCRMFRequest function is used to "peek"
into the context's private scope. Since the window does not have a chrome:// URL,
the insecure parts of Components.classes are not available, so instead the AddonManager
API is invoked to silently install a malicious plugin.

Authors

Mariusz Mlynskimoz_bug_r_a4joev

Platform

Java,Linux,OSX,Solaris,Windows

Module Options

To display the available options, load the module within the Metasploit console and run the commands ‘show options’ or ‘show advanced’:

    msf > use exploit/multi/browser/firefox_proto_crmfrequest
    msf /(t) > show actions
        ...actions...
    msf /(t) > set ACTION < action-name >
    msf /(t) > show options
        ...show and set options...
    msf /(t) > run
  
Title
NEW

Explore Exposure Command

Confidently identify and prioritize exposures from endpoint to cloud with full attack surface visibility and threat-aware risk context.