High-Tech Bridge SA has discovered multiple vulnerabilities in PHPShop CMS Free, which can be exploited by malicious users to conduct SQL injection attacks and by malicious people to conduct cross-site scripting attacks.
1) Input passed via the URL to multiple scripts is not properly sanitised in the "Compile()" function in phpshop/class/admgui.class.php 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.
Examples:
http://[host]/phpshop/admpanel/gbook/adm_gbook_new.php/[script]
http://[host]/phpshop/admpanel/banner/adm_baner_new.php/[script]
http://[host]/phpshop/admpanel/links/adm_links_new.php/[script]
http://[host]/phpshop/admpanel/menu/adm_menu_new.php/[script]
2) Input passed via various parameters to multiple scripts is not properly sanitised in the "setInput()" function in class/admgui.class.php 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.
Examples:
http://[host]/phpshop/admpanel/c...min_cat_content.php?pid=[script]
http://[host]/phpshop/admpanel/catalog/adm_catalog_new.php?id=[script]
http://[host]/phpshop/admpanel/p...pages_new.php?catalogID=[script]
http://[host]/phpshop/admpanel/p...n_photo_content.php?pid=[script]
3) Input passed via the "id" parameter to phpshop/admpanel/catalog/adm_catalog_new.php is not properly sanitised in the "select()" function in phpshop/class/orm.class.php before being used in SQL queries. This can be exploited to manipulate SQL queries by injecting arbitrary SQL code.
Successful exploitation of this vulnerability requires the "Base Operator" privilege.
4) Input passed via the "catalogID" parameter to phpshop/admpanel/page/adm_pages_new.php and via the "pid" parameter to phpshop/admpanel/catalog/admin_cat_content.php and phpshop/admpanel/photo/admin_photo_content.php is not properly sanitised before being used in SQL queries. This can be exploited to manipulate SQL queries by injecting arbitrary SQL code.
Successful exploitation of this vulnerability requires the "Base Operator" privilege.
The vulnerabilities are confirmed in version 3.4.2.7. Other versions may also be affected.