{"vuid":"VU#983429","idnumber":"983429","name":"Apple Mac OSX executes arbitrary widget with same \"bundle identifier\" as system widget","keywords":["Apple","Mac","OSX","Tiger","Dashboard","spoof","properly handle duplicate","bundle identifier","CFBundleIdentifier","evil twin"],"overview":"Apple Mac OS X Tiger Dashboard executes arbitrary widgets with the same \"bundle identifier\" as a system widget. This can allow a user-installed widget to override a system-installed one.","clean_desc":"Dashboard Dashboard is a new feature introduced in Apple Mac OS X Tiger 10.4. Dashboard is a collection of applications called \"widgets.\"  The system-installed widgets are located in /Library/Widgets and user-installed widgets are located in ~/Library/Widgets. Widgets A widget is an application that is created using a combination of HTML, CSS, and JavaScript. Although the content of a widget is similar to a web page, a widget that executes within the context of Dashboard has additional privileges that are not available within a web browser. For example, a Dashboard widget can make system calls via widget.system() or execute a plug-in that contains native OS X code. The problem Dashboard identifies widgets by the CFBundleIdentifier property in the Info.plist file contained within the widget. As specified in Apple QA1373, \"applications with identical CFBundleIdentifier values will override each other.\"  When a widget is executed, Dashboard will run the user-installed widget instead of the system-installed widget with the same CFBundleIdentifier value. A user-installed widget with the same CFBundleIdentifier as a system-installed widget will replace the system-installed widget in the Dashboard, so the user may not be aware that the change has taken place.","impact":"If an attacker can convince a user to install a widget, the attacker may be able to execute arbitrary commands or code with the privileges of the user. This execution would take place when the user runs what appears to be a system widget. By default, Safari on OS X 10.4 downloads and installs widgets without any user interaction or notification (VU#775661).","resolution":"","workarounds":"Install an update This issue is addressed by the OS X 10.4.2 update. With this update, OS X will warn the user if a widget to be installed will override an existing widget. User-installed widgets will still override system-installed widgets, but this change will help prevent accidental installation of a widget that has the same CFBundleIdentifier value as an existing widget. Disable \"Open 'safe' files after downloading\" By default, Safari will open \"safe\" files after downloading them. This includes movies, pictures, sounds, documents, disk images, and widgets. By disabling this option, Safari will prompt before installing widgets. By not automatically opening files, Safari will not automatically execute other software to handle downloaded files. Other software may contain vulnerabilities, and some \"safe\" files may contain code, place content in a known location, or otherwise contribute to an attack. To disable this option, select \"Preferences\" from the Safari menu and uncheck the option \"Open 'safe' files after downloading,\" as specified in the Securing Your Web Browser document. Do not open untrusted Dashboard widgets Dashboard widgets may give the impression that they are harmless web applets. Widgets are effectively arbitrary OS X code. Do not download, install, or execute arbitrary code, including widgets.","sysaffected":"","thanks":"This vulnerability was publicly reported by mithras.the.prophet.","author":"This document was written by Will Dormann.","public":["http://www1.cs.columbia.edu/~aaron/files/widgets/","http://docs.info.apple.com/article.html?artnum=301722","http://developer.apple.com/documentation/AppleApplications/Conceptual/Dashboard_Tutorial/index.html","http://www.apple.com/macosx/features/dashboard/","http://www.appleinsider.com/article.php?id=1073","http://developer.apple.com/qa/qa2004/qa1373.html"],"cveids":["CVE-2005-1933"],"certadvisory":"","uscerttechnicalalert":null,"datecreated":"2005-05-20T15:18:30Z","publicdate":"2005-05-10T00:00:00Z","datefirstpublished":"2005-06-08T20:25:50Z","dateupdated":"2006-02-22T15:23:33Z","revision":26,"vrda_d1_directreport":"","vrda_d1_population":"","vrda_d1_impact":"","cam_widelyknown":"20","cam_exploitation":"10","cam_internetinfrastructure":"5","cam_population":"10","cam_impact":"2","cam_easeofexploitation":"12","cam_attackeraccessrequired":"10","cam_scorecurrent":"1.575","cam_scorecurrentwidelyknown":"1.575","cam_scorecurrentwidelyknownexploited":"2.025","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":1.575,"vulnote":null}