Multiple Vulnerabilities in OrangeHRM

Advisory ID:HTB23057
Product:OrangeHRM
Vendor:OrangeHRM Inc.
Vulnerable Versions:2.6.11 and probably prior
Tested Version:2.6.11
Advisory Publication:November 9, 2011 [without technical details]
Vendor Notification:November 9, 2011
Public Disclosure:November 30, 2011
Latest Update:November 25, 2011
Vulnerability Type:Cross-Site Scripting [CWE-79]
SQL Injection [CWE-89]
Risk Level:Medium
CVSSv2 Base Scores:4.3 (AV:N/AC:M/Au:N/C:N/I:P/A:N)
6.5 (AV:N/AC:L/Au:S/C:P/I:P/A:P)
Solution Status:Fixed by Vendor
Discovered and Provided:High-Tech Bridge Security Research Lab
 

Advisory Details:

High-Tech Bridge SA Security Research Lab has discovered multiple vulnerabilities in OrangeHRM, which can be exploited to perform Cross-Site Scripting (XSS) and SQL Injection attacks.

1) Cross-Site Scripting (XSS) vulnerabilities in OrangeHRM
1.1 Input passed via the "uniqcode" GET parameter to index.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 in context of an affected website.
The following PoC code is available:
http://[host]/index.php?menu_no_top=eim&uniqcode=%22%3E%3C/iframe%3E%3Cscrip t%3Ealert%28123%29;%3C/script%3E
1.2 Input passed via the "isAdmin" GET parameter to index.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 in context of an affected website.
The following PoC code is available:
http://[host]/index.php?menu_no_top=eim&uniqcode=USR&isAdmin=%22%3E%3C/ifram e%3E%3Cscript%3Ealert%28123%29;%3C/script%3E
1.3 Input appended to the URL after /lib/controllers/centralcontroller.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 in context of an affected site
The following PoC code is available:
http://[host]/lib/controllers/centralcontroller.php/%22%3E%3Cscript%3Ealert% 28document.cookie%29;%3C/script%3E/?uniqcode=USR&VIEW=MAIN&isAdmin=1

2) SQL Injection vulnerability in OrangeHRM
2.1 Input passed via the "id" GET parameter to /lib/controllers/centralcontroller.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]/lib/controllers/centralcontroller.php?capturemode=updatemode&u niqcode=NAT&id=1%27%20union%20select%20version%28%29,user%28%29%20--%20
Successful exploitation of this vulnerability requires attacker to be registered and logged-in.

How to Detect Cross-Site Scripting Vulnerabilities
Free Website Security Test
  • Non-intrusive GDPR Test
  • Non-intrusive PCI DSS Test
Try Free Test
ImmuniWeb® On-Demand
  • Complete GDPR Audit
  • Complete PCI DSS Audit
  • Remediation Guidelines
  • DevSecOps Integration
Learn More

Solution:
Upgrade to the version 2.6.11.2


References:
[1] High-Tech Bridge Advisory HTB23057 - https://www.immuniweb.com/advisory/HTB23057 - Multiple Vulnerabilities in OrangeHRM
[2] OrangeHRM - http://www.orangehrm.com - OrangeHRM is the world’s most popular Open Source Human Resource Management Software (HRMS) with over 1,000,000 users globally.
[3] Common Weakness Enumeration (CWE) - http://cwe.mitre.org - targeted to developers and security practitioners, CWE is a formal list of software weakness types.
User Comments
Add Comment


Have additional information to submit?
Please feel free to send us any additional information related to this Advisory, such as vulnerable versions, additional exploitation details and conditions, patches and other relevant details.
Quick Start
Solutions
Get a Demo
Newsletter