Recently some one notified me about a serious security issue in osCommerce and CRE Loaded. Due to this issue any one can see orders information, customer information and do so many things in admin area, without login. It was hard to believe but its true.
I tried it on local osCommerce installation and it worked like a magic. In screen shot below, you can see configuration of a store. Just by changing URL other configurations can also be seen.

Similarly any one can see orders placed, information of single order, customer email, customer name and other information. The issue still exists in latest version of osCommerce v2.2 RC2a (as seen in screen shot above).
The issue is also found in CRE Loaded PCI Pro 6.4, so it should also exist in all older versions as well. Below is screen shot for CRE Loaded site, where orders information is visible.

Its also possible to see single order details with customer name, address, email, payment information etc.

The issue is fixed in CRE Loaded 6.4.1 version, which is latest version at the moment. This means any one using older version must take measures quickly, or they will remain open to hackers and information theft.
I am not writing the actual method to get into admin area, as doing it will make it public, and will create high risk for so many osCommerce, CRE Loaded sites.
Immediate fix for this serious security issue is simple one.
Fix for osCommerce and CRE Loaded 6.2 and older
- Backup
admin/includes/application_top.php in case something goes wrong
- Open file
admin/includes/application_top.php in some php or text editor.
- Find line
$PHP_SELF = (isset($HTTP_SERVER_VARS['PHP_SELF']) ? $HTTP_SERVER_VARS['PHP_SELF'] : $HTTP_SERVER_VARS['SCRIPT_NAME']);
- Replace the first occurrence of the line with this
$PHP_SELF = $HTTP_SERVER_VARS['SCRIPT_NAME'];
- For CRE, find line
$PHP_SELF = (isset($HTTP_SERVER_VARS['PHP_SELF']) ? $HTTP_SERVER_VARS['PHP_SELF'] : $HTTP_SERVER_VARS['SCRIPT_NAME']);
remove it or replace it with above line
- Save the file
Fix for CRE Loaded 6.3 and 6.4.0
- Backup
admin/includes/application_top.php in case something goes wrong
- Open file
admin/includes/application_top.php in some php or text editor.
- Find line
$PHP_SELF = (isset($_SERVER['PHP_SELF']) ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME']);
- Replace the line with this
$PHP_SELF = $_SERVER['SCRIPT_NAME'];
- Save the file
It is highly recommended to follow guidelines mentioned in http://www.infotales.com/hardening-protecting-cre-loaded-admin-area/. Following these guidelines will further secure admin area from hackers attack.