Vulnerability ID: HTB23058 Reference: https://www.htbridge.ch/advisory/multiple_vulnerabilities_in_phpshop_cms_free.html Product: PHPShop CMS Free Vendor: PHPShop Software ( http://www.phpshopcms.ru/ ) Vulnerable Version: 3.4 and probably prior Tested Version: 3.4 Vendor Notification: 23 November 2011 Vulnerability Type: XSS, SQL Injection Status: Fixed by Vendor Risk level: Medium Credit: High-Tech Bridge SA Security Research Lab ( https://www.htbridge.ch/advisory/ ) Vulnerability Details: High-Tech Bridge SA Security Research Lab has discovered multiple vulnerabilities in PHPShop CMS Free, which can be exploited to perform cross-site scripting, sql injection attacks. 1) Input appended to the URL after multiple files is not properly sanitised before being returned to the user. This can be exploited to execute arbitrary HTML and script code in a user's browser session in context of an affected site. The following PoC code is available: http://[host]/phpshop/admpanel/banner/adm_baner_new.php/%22%3E%3Cscript%3Ealert%28document.cookie%29;%3C/script%3E http://[host]/phpshop/admpanel/gbook/adm_gbook_new.php/%22%3E%3Cscript%3Ealert%28document.cookie%29;%3C/script%3E http://[host]/phpshop/admpanel/links/adm_links_new.php/%22%3E%3Cscript%3Ealert%28document.cookie%29;%3C/script%3E http://[host]/phpshop/admpanel/menu/adm_menu_new.php/%22%3E%3Cscript%3Ealert%28document.cookie%29;%3C/script%3E http://[host]/gbook/?a=%22%3E%3Cscript%3Ealert%28document.cookie%29;%3C/script%3E Successful exploitation of this vulnerabilities requires that Apache's directive "AcceptPathInfo" is set to "on" or "default" (default value is "default") 2) Input passed via the "pid" GET parameter to /phpshop/admpanel/catalog/admin_cat_content.php is not properly sanitised before being returned to the user. This can be exploited to execute arbitrary HTML and script code in a user's browser session in context of affected website. The following PoC code is available: http://[host]/phpshop/admpanel/catalog/admin_cat_content.php?pid=%22%3E%3Cscript%3Ealert%28document.cookie%29;%3C/script%3E 3) Input passed via the "id" GET parameter to /phpshop/admpanel/catalog/adm_catalog_new.php is not properly sanitised before being returned to the user. This can be exploited to execute arbitrary HTML and script code in a user's browser session in context of affected website. The following PoC code is available: http://[host]/phpshop/admpanel/catalog/adm_catalog_new.php?id=%%22%3E%3Cscript%3Ealert%28document.cookie%29;%3C/script%3E 4) Input passed via the "catalogID" GET parameter to /phpshop/admpanel/page/adm_pages_new.php is not properly sanitised before being returned to the user. This can be exploited to execute arbitrary HTML and script code in a user's browser session in context of affected website. The following PoC code is available: http://[host]/phpshop/admpanel/page/adm_pages_new.php?catalogID=%22%3E%3Cscript%3Ealert%28document.cookie%29;%3C/script%3E 5) Input passed via the "pid" GET parameter to /phpshop/admpanel/photo/admin_photo_content.php is not properly sanitised before being returned to the user. This can be exploited to execute arbitrary HTML and script code in a user's browser session in context of affected website. The following PoC code is available: http://[host]/phpshop/admpanel/photo/admin_photo_content.php?pid=%22%3E%3Cscript%3Ealert%28document.cookie%29;%3C/script%3E 6) Input passed via the "log" & "pas" COOKIE parameters to /phpshop/admpanel/ is not properly sanitised before being returned to the user. This can be exploited to execute arbitrary HTML and script code in a user's browser session in context of affected website. The following PoC code is available: GET /phpshop/admpanel/ HTTP/1.1 Cookie: log="> 7) Input passed via the "id" GET parameter to /phpshop/admpanel/catalog/adm_catalog_new.php is not properly sanitised before being used in a SQL query. This can be exploited to manipulate SQL queries by injecting arbitrary SQL code. The following PoC code is available: http://[host]/phpshop/admpanel/catalog/adm_catalog_new.php?id=3%20AND%201=1 Successful exploitation of this vulnerability requires that attacker have access to admin panel. 8) Input passed via the "pid" GET parameter to /phpshop/admpanel/catalog/admin_cat_content.php is not properly sanitised before being used in a SQL query. This can be exploited to manipulate SQL queries by injecting arbitrary SQL code. The following PoC code is available: http://[host]/phpshop/admpanel/catalog/admin_cat_content.php?pid=3%20AND%201=2 Successful exploitation of this vulnerability requires that attacker have access to admin panel. 9) Input passed via the "catalogID" GET parameter to /phpshop/admpanel/page/adm_pages_new.php is not properly sanitised before being used in a SQL query. This can be exploited to manipulate SQL queries by injecting arbitrary SQL code. The following PoC code is available: http://[host]/phpshop/admpanel/page/adm_pages_new.php?catalogID=3%20AND%201=2 Successful exploitation of this vulnerability requires that attacker have access to admin panel. 10) Input passed via the "pid" GET parameter to /phpshop/admpanel/photo/admin_photo_content.php is not properly sanitised before being used in a SQL query. This can be exploited to manipulate SQL queries by injecting arbitrary SQL code. The following PoC code is available: http://[host]/phpshop/admpanel/photo/admin_photo_content.php?pid=6%20AND%201=2 Successful exploitation of this vulnerability requires that attacker have access to admin panel. Solution: Upgrade to 3.4.3.01 or later version More information available: http://forum.phpshopcms.ru/index.php?showtopic=1508 http://www.phpshopcms.ru/release.html Disclaimer: Details of this Advisory may be updated in order to provide as accurate information as possible. The latest version of the Advisory is available on the web page in Reference field.