<<< Date Index >>>     <<< Thread Index >>>

osCommerce Malformed Session ID XSS Vuln




Vendor  : osCommerce
URL     : http://www.oscommerce.com
Version : All Current Versions
Risk    : Cross Site Scripting


Description:
osCommerce is an online shop e-commerce solution under on going 
development by the open source community. Its feature packed 
out-of-the-box installation allows store owners to setup, run, and 
maintain their online stores with minimum effort and with absolutely 
no costs or license fees involved.


Problem:
osCommerce is vulnerable to a XSS flaw. The flaw can be exploited when
a malicious user passes a malformed session ID to URI. Below is an
example of the flaw.

https://path/?osCsid=";><iframe src=http://www.gulftech.org></iframe>

This condition seems to affect only secure https connections, but was
convirmed by the developers to affect regular http connections in the
current CVS version of osCommerce.


Solution:
This is the response from the developer.

To fix the issue, the $_sid parameter needs to be wrapped around 
tep_output_string() in the tep_href_link() function defined in 
includes/functions/html_output.php.

Before:

if (isset($_sid)) {
$link .= $separator . $_sid;
}

After:

if (isset($_sid)) {
$link .= $separator . tep_output_string($_sid);
}

osCommerce 2.2 Milestone 3 will redirect the user to the index page when 
a malformed session ID is used, so that a new session ID can be generated.



Credits:
Credits go to JeiAr of the GulfTech Security Research Team.
http://www.gulftech.org