Project Open CMS 5.0.3 Cross Site Scripting / SQL Injection

2020.04.28
Risk: Medium
Local: No
Remote: Yes
CVE: N/A
CWE: CWE-89
CWE-79

Document Title: =============== Project Open v5.0.3 CMS - Multiple Web Vulnerabilities References (Source): ==================== https://www.vulnerability-lab.com/get_content.php?id=2225 Release Date: ============= 2020-04-25 Vulnerability Laboratory ID (VL-ID): ==================================== 2225 Common Vulnerability Scoring System: ==================================== 7.3 Vulnerability Class: ==================== Multiple Current Estimated Price: ======================== 2.000€ - 3.000€ Product & Service Introduction: =============================== Join more than 20.000 users and become part of our Community. You will be able to track your incidents, create new tickets, add product ideas and track the progress of development. (Copy of the Homepage: http://project-open.net/ ) Abstract Advisory Information: ============================== The vulnerability laboratory core research team discovered multiple web vulnerabilities in the official Project Open v5.0.3 CMS. Affected Product(s): ==================== Project-Open Product: Project Open v5.0.3 - CMS (Web-Application) Vulnerability Disclosure Timeline: ================================== 2020-04-27: Public Disclosure (Vulnerability Laboratory) Discovery Status: ================= Published Exploitation Technique: ======================= Remote Severity Level: =============== High Authentication Type: ==================== Restricted authentication (user/moderator) - User privileges User Interaction: ================= No User Interaction Disclosure Type: ================ Independent Security Research Technical Details & Description: ================================ 1.1 Multiple remote sql-injection web vulnerabilities has been discovered in the official Project Open v5.0.3 CMS web-application. The vulnerability allows remote attackers to inject or execute own sql commands to compromise the dbms or file system of the application. The sql injection vulnerabilities are located in the `order_by`, `forum_order_by` and `audit_id` parameters of the `./intranet-expenses/index` and `./intranet-audit/view` modules. The request method to inject or execute commands is GET and the attack vector is located on the application-side. Attackers with privileged accounts to edit are able to inject own sql queries via order or id parameter to compromise the dbms. Multiple unhandled and broken sql queries are visible as default debug to output for different roles as well. Exploitation of the remote sql injection vulnerability requires no user interaction and a privileged web-application user account. Successful exploitation of the remote sql injection results in database management system, web-server and web-application compromise. Request Method(s): [+] GET Vulnerable Module(s): [+] ./intranet-expenses/index [+] ./intranet-audit/view Vulnerable Parameter(s): [+] forum_order_by [+] order_by [+] audit_id 1.2 Multiple non-persistent cross site scripting vulnerabilities has been discovered in the official Project Open v5.0.3 CMS web-application. The vulnerability allows remote attackers to inject own malicious script codes with non-persistent attack vector to compromise browser to web-application requests from the client-side. The cross site scripting web security vulnerabilities are located in the `bread_crum_path` and `re_path` parameters of the `./intranet/projects/view` and `./intranet-filestorage` modules. The request method to inject the malicious script code is GET and the attack vector of the vulnerability is non-persistent on client-side. Remote attackers are able to inject own script codes to the client-side requested vulnerable web-application parameters. The attack vector of the vulnerability is non-persistent and the request method to inject/execute is GET. The vulnerabilities are classic client-side cross site scripting vulnerabilities. Successful exploitation of the vulnerability results in session hijacking, non-persistent phishing attacks, non-persistent external redirects to malicious source and non-persistent manipulation of affected or connected application modules. Request Method(s): [+] GET Vulnerable Module(s): [+] ./intranet/projects/view [+] ./intranet-filestorage Vulnerable Parameter(s): [+] bread_crum_path [+] rel_path Proof of Concept (PoC): ======================= 1.1 The remote sql-injection web vulnerabilities can be exploited by authenticated privileged user accounts without user interaction. For security demonstration or to reproduce the vulnerability follow the provided information and steps below to continue. PoC: SQL-Injection https://po-cms.localhost:80/intranet/?forum_max_entries_per_page=10&forum_order_by='[SQL INJECTION]--&forum_object_id=0&forum_start_idx=10& https://po-cms.localhost:80/intranet-expenses/index?end_date=2020-04-25&unassigned=todo&expense_type_id=&project_id=29129&start_date=2000-01-01&orderby='[SQL INJECTION]-- https://po-cms.localhost:80/intranet-audit/view?return_url=%2fintranet-confdb%2fnew%3fform_mode%3ddisplay%26conf_item_id%3d43412&audit_id='[SQL INJECTION]-- PoC: Exploit <html> <head><body> <title>Project Open Intranet CMS v</title> <iframe src="https://po-cms.localhost:80/intranet/?forum_max_entries_per_page=10&forum_order_by='[SQL INJECTION]--&forum_object_id=0&forum_start_idx=10&"></iframe> <iframe src="https://po-cms.localhost:80/intranet-expenses/index?end_date=2020-04-25&unassigned=todo&expense_type_id=&project_id=29129&start_date=2000-01-01&orderby='[SQL INJECTION]--"></iframe> <iframe src="https://po-cms.localhost:80/intranet-audit/view?return_url=%2fintranet-confdb%2fnew%3fform_mode%3ddisplay%26conf_item_id%3d43412&audit_id='[SQL INJECTION]--"></iframe> </body></head> <html Reference(s): https://po-cms.localhost:80/intranet/ https://po-cms.localhost:80/intranet-audit/view https://po-cms.localhost:80/intranet-expenses/index --- Error Exception Logs --- im_category_from_id(a.audit_object_status_id) as audit_object_status, im_name_from_user_id(a.audit_user_id) as audit_user_name, to_char(a.audit_date, 'YYYY-MM-DD') as audit_date_pretty - LEFT OUTER JOIN im_audits last_a ON (a.audit_last_id = last_a.audit_id), acs_objects o, acs_object_types ot - where a.audit_object_id = o.object_id and ot.object_type = o.object_type and a.audit_id = '''16899' - 1.2 The client-side cross site scripting web vulnerabilities can be exploited by remote attackers without account and with low user interaction. For security demonstration or to reproduce the vulnerability follow the provided information and steps below to continue. PoC: Cross Site Scripting https://po-cms.localhost:80/intranet/?forum_max_entries_per_page=&forum_order_by=&forum_object_id=0&forum_start_idx=10&=&bread_crum_path=[CROSS SITE SCRIPTING] https://po-cms.localhost:80/intranet/projects/view?project_id=29129&view_name=files&bread_crum_path=[CROSS SITE SCRIPTING] https://po-cms.localhost:80/intranet-filestorage/folder_status_update?status=c&return_url=&rel_path=[CROSS SITE SCRIPTING] PoC: Exploit <html> <head><body> <title>Project Open Intranet CMS v</title> <iframe src="https://po-cms.localhost:80/intranet/?forum_max_entries_per_page=&forum_order_by=&forum_object_id=0&forum_start_idx=10&=&bread_crum_path=[HTML/JS PAYLOAD]"></iframe> <iframe src="https://po-cms.localhost:80/intranet/projects/view?project_id=29129&view_name=files&bread_crum_path=[HTML/JS PAYLOAD]"></iframe> <iframe src="https://po-cms.localhost:80/intranet-filestorage/folder_status_update?status=c&return_url=&rel_path=[HTML/JS PAYLOAD]"></iframe> </body></head> <html> Reference(s): https://po-cms.localhost:80/intranet/ https://po-cms.localhost:80/intranet-filestorage/ https://po-cms.localhost:80/intranet/projects/view/ Credits & Authors: ================== Vulnerability-Lab - https://www.vulnerability-lab.com/show.php?user=Vulnerability-Lab Benjamin Kunz Mejri - https://www.vulnerability-lab.com/show.php?user=Benjamin%20K.M. Disclaimer & Information: ========================= The information provided in this advisory is provided as it is without any warranty. Vulnerability Lab disclaims all warranties, either expressed or implied, including the warranties of merchantability and capability for a particular purpose. Vulnerability-Lab or its suppliers are not liable in any case of damage, including direct, indirect, incidental, consequential loss of business profits or special damages, even if Vulnerability-Lab or its suppliers have been advised of the possibility of such damages. Some states do not allow the exclusion or limitation of liability for consequential or incidental damages so the foregoing limitation may not apply. We do not approve or encourage anybody to break any licenses, policies, deface websites, hack into databases or trade with stolen data. Domains: www.vulnerability-lab.com www.vuln-lab.com www.vulnerability-db.com Services: magazine.vulnerability-lab.com paste.vulnerability-db.com infosec.vulnerability-db.com Social: twitter.com/vuln_lab facebook.com/VulnerabilityLab youtube.com/user/vulnerability0lab Feeds: vulnerability-lab.com/rss/rss.php vulnerability-lab.com/rss/rss_upcoming.php vulnerability-lab.com/rss/rss_news.php Programs: vulnerability-lab.com/submit.php vulnerability-lab.com/register.php vulnerability-lab.com/list-of-bug-bounty-programs.php Any modified copy or reproduction, including partially usages, of this file requires authorization from Vulnerability Laboratory. Permission to electronically redistribute this alert in its unmodified form is granted. All other rights, including the use of other media, are reserved by Vulnerability-Lab Research Team or its suppliers. All pictures, texts, advisories, source code, videos and other information on this website is trademark of vulnerability-lab team & the specific authors or managers. To record, list, modify, use or edit our material contact (admin@ or research@) to get a ask permission. Copyright © 2020 | Vulnerability Laboratory - [Evolution Security GmbH]™ -- VULNERABILITY LABORATORY - RESEARCH TEAM SERVICE: www.vulnerability-lab.com


Vote for this issue:
100%
0%


 

Thanks for you vote!


 

Thanks for you comment!
Your message is in quarantine 48 hours.

Comment it here.


(*) - required fields.  
{{ x.nick }} | Date: {{ x.ux * 1000 | date:'yyyy-MM-dd' }} {{ x.ux * 1000 | date:'HH:mm' }} CET+1
{{ x.comment }}

Copyright 2020, cxsecurity.com

 

Back to Top