================================================================================= CubeCart 3.0.20 (3.0.x) and lower | Multiple Cross Site Scripting Vulnerabilities ================================================================================= 1. OVERVIEW CubeCart 3.0.20 and lower versions are vulnerable to Cross Site Scripting. 2. BACKGROUND CubeCart is an "out of the box" ecommerce shopping cart software solution which has been written to run on servers that have PHP & MySQL support. With CubeCart you can quickly setup a powerful online store which can be used to sell digital or tangible products to new and existing customers all over the world. 3. VULNERABILITY DESCRIPTION Multiple parameters are not properly sanitized, which allows attacker to conduct Cross Site Scripting attack. This may allow an attacker to create a specially crafted URL that would execute arbitrary script code in a victim's browser. 4. VERSIONS AFFECTED 3.0.20 and lower (aka 3.0.x family) 5. Affected URLs and Parameters /admin/adminusers/permissions.php (adminId parameter) /admin/categories/index.php (cat_name parameter) /admin/categories/languages.php (cat_master_id parameter) /admin/customers/ (searchStr parameter) /admin/customers/index.php (add_1 parameter) /admin/customers/index.php (add_2 parameter) /admin/customers/index.php (county parameter) /admin/customers/index.php (email parameter) /admin/customers/index.php (firstName parameter) /admin/customers/index.php (lastName parameter) /admin/customers/index.php (searchStr parameter) /admin/customers/index.php (town parameter) /admin/docs/home.php (homeLang parameter) /admin/docs/home.php (title parameter) /admin/docs/languages.php (doc_master_id parameter) /admin/docs/siteDocs.php (FCKeditor parameter) /admin/filemanager/upload.php (filename multipart parameter attribute) /admin/index.php (User-Agent HTTP header) /admin/modules/affiliate/clixGalore/index.php (folder parameter) /admin/modules/affiliate/clixGalore/index.php (module parameter) /admin/modules/affiliate/iDevAffiliate/index.php (folder parameter) /admin/modules/affiliate/iDevAffiliate/index.php (module parameter) /admin/modules/affiliate/JROX/index.php (folder parameter) /admin/modules/affiliate/JROX/index.php (module parameter) /admin/modules/affiliate/tradeDoubler/index.php (folder parameter) /admin/modules/affiliate/tradeDoubler/index.php (module parameter) /admin/modules/gateway/2Checkout/index.php (folder parameter) /admin/modules/gateway/2Checkout/index.php (module parameter) /admin/modules/gateway/AsianPay/index.php (folder parameter) /admin/modules/gateway/AsianPay/index.php (module parameter) /admin/modules/gateway/AsianPay/index.php (module[account_id]parameter) /admin/modules/gateway/AsianPay/index.php (module[desc] parameter) /admin/modules/gateway/AsianPay/index.php (module[email] parameter) /admin/modules/gateway/AsianPay/index.php (module[receiverid] parameter) /admin/modules/gateway/Authorize/index.php (folder parameter) /admin/modules/gateway/Authorize/index.php (module parameter) /admin/modules/gateway/Authorize_AIM/index.php (folder parameter) /admin/modules/gateway/Authorize_AIM/index.php (module parameter) /admin/modules/gateway/BluePay/index.php (folder parameter) /admin/modules/gateway/BluePay/index.php (module parameter) /admin/modules/gateway/ccAvenue/index.php (folder parameter) /admin/modules/gateway/ccAvenue/index.php (module parameter) /admin/modules/gateway/ccNow/index.php (folder parameter) /admin/modules/gateway/ccNow/index.php (module parameter) /admin/modules/gateway/Chronopay/index.php (folder parameter) /admin/modules/gateway/Chronopay/index.php (module parameter) /admin/modules/gateway/eGold/index.php (folder parameter) /admin/modules/gateway/eGold/index.php (module parameter) /admin/modules/gateway/eWay/index.php (folder parameter) /admin/modules/gateway/eWay/index.php (module parameter) /admin/modules/gateway/HSBC/index.php (folder parameter) /admin/modules/gateway/HSBC/index.php (module parameter) /admin/modules/gateway/LinkPoint/index.php (folder parameter) /admin/modules/gateway/LinkPoint/index.php (module parameter) /admin/modules/gateway/mals-e/index.php (folder parameter) /admin/modules/gateway/mals-e/index.php (module parameter) /admin/modules/gateway/moneybookers/index.php (folder parameter) /admin/modules/gateway/moneybookers/index.php (module parameter) /admin/modules/gateway/NOCHEX/index.php (folder parameter) /admin/modules/gateway/NOCHEX/index.php (module parameter) /admin/modules/gateway/Nochex_APC/index.php (folder parameter) /admin/modules/gateway/Nochex_APC/index.php (module parameter) /admin/modules/gateway/PayJunction/index.php (folder parameter) /admin/modules/gateway/PayJunction/index.php (module parameter) /admin/modules/gateway/paymate/index.php (folder parameter) /admin/modules/gateway/paymate/index.php (module parameter) /admin/modules/gateway/PayOffline/index.php (folder parameter) /admin/modules/gateway/PayOffline/index.php (module parameter) /admin/modules/gateway/PayPal/index.php (folder parameter) /admin/modules/gateway/PayPal/index.php (module parameter) /admin/modules/gateway/Print_Order_Form/index.php (folder parameter) /admin/modules/gateway/Print_Order_Form/index.php (module parameter) /admin/modules/gateway/Protx/index.php (folder parameter) /admin/modules/gateway/Protx/index.php (module parameter) /admin/modules/gateway/psiGate/index.php (folder parameter) /admin/modules/gateway/psiGate/index.php (module parameter) /admin/modules/gateway/SECPay/index.php (folder parameter) /admin/modules/gateway/SECPay/index.php (module parameter) /admin/modules/gateway/VelocityPay/index.php (folder parameter) /admin/modules/gateway/VelocityPay/index.php (module parameter) /admin/modules/gateway/Verisign/index.php (folder parameter) /admin/modules/gateway/Verisign/index.php (module parameter) /admin/modules/shipping/By_Percent/index.php (folder parameter) /admin/modules/shipping/By_Percent/index.php (module parameter) /admin/modules/shipping/By_Price/index.php (folder parameter) /admin/modules/shipping/By_Price/index.php (module parameter) /admin/modules/shipping/By_Weight/index.php (folder parameter) /admin/modules/shipping/By_Weight/index.php (module parameter) /admin/modules/shipping/Flat_Rate/index.php (folder parameter) /admin/modules/shipping/Flat_Rate/index.php (module parameter) /admin/modules/shipping/Free_Shipping/index.php (folder parameter) /admin/modules/shipping/Free_Shipping/index.php (module parameter) /admin/modules/shipping/Per_Category/index.php (folder parameter) /admin/modules/shipping/Per_Category/index.php (module parameter) /admin/modules/shipping/Per_Item/index.php (folder parameter) /admin/modules/shipping/Per_Item/index.php (module parameter) /admin/modules/shipping/Royal_Mail/index.php (folder parameter) /admin/modules/shipping/Royal_Mail/index.php (module parameter) /admin/products/extraCats.php (add parameter) /admin/products/extraCats.php (name parameter) /admin/products/index.php (cat_id parameter) /admin/products/index.php (cat_name parameter) /admin/products/index.php (category parameter) /admin/products/index.php (name parameter) /admin/products/index.php (orderCol parameter) /admin/products/index.php (orderDir parameter) /admin/products/index.php (taxName parameter) /admin/products/languages.php (prod_master_id parameter) /admin/products/options.php (attribute parameter) /admin/products/options.php (name parameter) /admin/settings/currency.php (active parameter) /admin/settings/currency.php (name parameter) /admin/settings/geo.php (iso parameter) /admin/settings/geo.php (iso3 parameter) /admin/settings/geo.php (name parameter) /admin/settings/geo.php (numcode parameter) /admin/settings/geo.php (printable_name parameter) /admin/settings/tax.php (taxName parameter) /cart.php?act=cart (HTTP Referer) /index.php (add_1 parameter) /index.php (add_2 parameter) /index.php (county parameter) /index.php (firstName parameter) /index.php (lastName parameter) /index.php (mobile parameter) /index.php (town parameter) 6. SOLUTION The CubeCart 3.0.x version family is no longer maintained by the vendor. Upgrade to the currently supported CubeCart version - 5.x. 7. VENDOR CubeCart Development Team http://cubecart.com/ 8. CREDIT Aung Khant, http://yehg.net, YGN Ethical Hacker Group, Myanmar. 9. DISCLOSURE TIME-LINE 2011-06-02: CubeCart 3.0.x in End-of-Support/Maintenance circle 2012-12-22: Vulnerability disclosed 10. REFERENCES Original Advisory URL: http://yehg.net/lab/pr0js/advisories/%5Bcubecart_3.0.20_3.0x%5D_xss CubeCart Home Page: http://cubecart.com/ CubeCart 3.x EOL Announcement: http://forums.cubecart.com/topic/42198-cubecart-v3-v4-end-of-life-announcement/ CubeCart 5 Release Announcement: http://forums.cubecart.com/topic/43622-cubecart-500-rc1-released/ #yehg [2012-12-22]