Joomla! VirtueMart Component 2.0.22a - SQL Injection

2013-08-26T00:00:00
ID EDB-ID:27879
Type exploitdb
Reporter Matias Fontanini
Modified 2013-08-26T00:00:00

Description

Joomla! VirtueMart Component 2.0.22a - SQL Injection. Webapps exploit for php platform

                                        
                                            ------------------------------------------------------------
Joomla! VirtueMart component <= 2.0.22a - SQL Injection
------------------------------------------------------------

== Description ==
- Software link: http://www.virtuemart.net/
- Affected versions: All versions between 2.0.8 and 2.0.22a are vulnerable.
- Vulnerability discovered by: Matias Fontanini

== Vulnerability ==
The vulnerability is located in the "user" controller, "removeAddressST" 
task. The "virtuemart_userinfo_id" parameter is not properly sanitized 
before being used in the "DELETE" query performed in it, allowing the 
execution of arbitrary SQL queries.

In order to exploit the vulnerability, an attacker must be authenticated 
as a customer in the application. However, since the system allows free 
account registration, this is not a problem.

== Proof of concept ==
The following example URL uses the MySQL "sleep" function through the 
injection:

http://example.com/index.php?option=com_virtuemart&view=user&task=removeAddressST&virtuemart_userinfo_id=16%22%20and%20sleep(10)%20and%20%22%22%3D%22

== Solution ==
Upgrade the product to the 2.0.22b version.

== Report timeline ==
[2013-08-15] Vulnerability reported to vendor.
[2013-08-16] Developers answered back.
[2013-08-22] VirtueMart 2.0.22b was released, which fixes the the 
reported issue.
[2013-08-22] Public disclosure.