{"vuid":"VU#648758","idnumber":"648758","name":"Mozilla Firefox executes JavaScript in the \"IconURL\" parameter of \"InstallTrigger.install()\" with chrome privileges","keywords":["Mozilla","Firefox","xpinstall","installtrigger","installtrigger.install","iconURL","eval","chrome"],"overview":"Mozilla Firefox may execute JavaScript contained within the IconURL parameter of InstallTrigger.install() with chrome privileges. This may allow an attacker to execute arbitrary commands on a vulnerable system.","clean_desc":"XPInstall XPInstall is a cross-platform software installation method used by Mozilla-based browsers. Chrome The Mozilla user interface components outside of the content area are created using chrome. This includes toolbars, menu bars, progress bars, and window title bars. Chrome provides content, locale, and skin information for the user interface. Chrome Script Chrome scripts have privileges that web scripts do not. Chrome scripts do not prompt for permission before executing potentially dangerous commands, such as creating or calling XPCOM components. JavaScript Eval Function The JavaScript eval()function evaluates and/or executes the specified code. For example, either of the following URLs will display an alert dialog containing the text \"Hello world.\": <blockquote> <tt> javascript:eval('alert(\"Hello world.\")')<br>\n<br>\njavascript:alert(\"Hello world.\")\n</tt></blockquote>\nThe Problem The IconURL parameter of the XPInstall InstallTrigger accepts JavaScript URIs (in-line JavaScript) as input. This JavaScript can execute with chrome privileges if it contains eval(). By granting UniversalXPConnect privileges to itself, a chrome script can gain unrestricted access to browser APIs using XPConnect. A script with these privileges may create and execute arbitrary files on the local filesystem. The Mozilla Suite does not appear to be affected because it does not use the IconURL parameter.","impact":"By convincing a user to view an HTML document (e.g., a web page), an attacker could execute arbitrary commands or code with the privileges of the user. The attacker could take any action as the user. If the user has administrative privileges, the attacker could take complete control of the user's system. Note that Mozilla Firefox enables by default a \"whitelist\" feature for XPInstall. This means that an attacker must have control of a site listed in the whitelist to successfully exploit this vulnerability. The default sites in the whitelist are addons.mozilla.org and update.mozilla.org. Several changes have been made to these sites to help prevent an attacker from using these sites for exploitation.","resolution":"Upgrade\nThis issue is resolved in Firefox 1.0.4.","workarounds":"Workarounds Disable software installation In the Firefox preferences, disable \"Allow web sites to install software.\"  This prevents the web browser from executing the vulnerable InstallTrigger method.","sysaffected":"","thanks":"This vulnerability was reported by Paul of Greyhats and Michael Krax. Thanks to Daniel Veditz of the Mozilla Foundation for discussing the vulnerability.","author":"This document was written by Will Dormann.","public":["http://www.mozilla.org/security/announce/mfsa2005-42.html","http://www.mozilla.org/security/announce/mfsa2005-43.html","http://www.mozilla.org/security/announce/mfsa2005-44.html","http://www.frsirt.com/english/advisories/2005/0493","http://secunia.com/advisories/15292/","http://www.securityfocus.com/archive/1/397817/2005-05-07/2005-05-13/0","http://greyhatsecurity.org/vulntests/ffrc.htm","http://www.securitytracker.com/alerts/2005/May/1013913.html","http://www.securityfocus.com/bid/13544668916","6","http://www.osvdb.org/displayvuln.php?osvdb_id=16185","https://bugzilla.mozilla.org/show_bug.cgi?id=293302","https://bugzilla.mozilla.org/show_bug.cgi?id=292691"],"cveids":["CVE-2005-1477"],"certadvisory":"","uscerttechnicalalert":null,"datecreated":"2005-05-09T14:07:27Z","publicdate":"2005-05-07T00:00:00Z","datefirstpublished":"2005-05-10T22:11:10Z","dateupdated":"2005-08-01T14:10:13Z","revision":19,"vrda_d1_directreport":"","vrda_d1_population":"","vrda_d1_impact":"","cam_widelyknown":"20","cam_exploitation":"0","cam_internetinfrastructure":"8","cam_population":"12","cam_impact":"17","cam_easeofexploitation":"4","cam_attackeraccessrequired":"20","cam_scorecurrent":"8.568","cam_scorecurrentwidelyknown":"8.568","cam_scorecurrentwidelyknownexploited":"14.688","ipprotocol":"","cvss_accessvector":"","cvss_accesscomplexity":"","cvss_authentication":null,"cvss_confidentialityimpact":"","cvss_integrityimpact":"","cvss_availabilityimpact":"","cvss_exploitablity":null,"cvss_remediationlevel":"","cvss_reportconfidence":"","cvss_collateraldamagepotential":"","cvss_targetdistribution":"","cvss_securityrequirementscr":"","cvss_securityrequirementsir":"","cvss_securityrequirementsar":"","cvss_basescore":"","cvss_basevector":"","cvss_temporalscore":"","cvss_environmentalscore":"","cvss_environmentalvector":"","metric":8.568,"vulnote":null}