Online Payments Blog

Industry News and discussions relating to Online Payments and Application Security.
Tags >> security
Nov 01
2009

CubeCart neglect to inform their customers of critical vulnerability

Posted by Dave in WorldNet TPS , security , sagepay , e-commerce , cubecart , Application Security , Acunetix

cubecartCubeCart is a popular commercial PHP based ecommerce shopping cart solution.  CubeCart is currently supported by two Irish Payment Service Providers - WorldNet TPS and SagePay.

Acunetix, an company who specialise in application security, discovered a critical session management vulnerability when auditing the source code for version 4.3.4 of CubeCart. The vulnerability allows you to by-pass the session management for administrative users without providing any credentials. Once bypassed an attack can perform any actions the administrator can, such as dumping the database, installing modules and so on. You can find a detailed description of the vulnerability on the Acunetix blog including a proof of concept.

Acunetix informed CubeCart about this vulnerability of October 20th 2009. CubeCart released version 4.3.5 on October 26th 2009 which included a fix for this vulnerability. If you are using CubeCart to run your ecommerce site then you should update to the latest version immediately. One would also expect that this is the advice that CubeCart would give their customers but this is not the case.

Here are the release notes that CubeCart have provided with version 4.3.5 of CubeCart -

CubeCart 4.3.5 has been released today which is available to download from the "Dashboard" area of your customers control panel. PayPal Website Payment Pro customers on CubeCart 4.3.4 must upgrade to use 3D Secure.

Whats new?
URL's Changed in WorldPay module to match "RBS Worldpay" branding
PayPal 3D Secure Fix & Enhancements *
Moneybookers Payment Notification Fix
Database Class Optimization
Misc bugs...


There is no mention of the fix for the critical vulnerability that allows an attacker to easily get administrative access to the system. The majority of CubeCart powered sites will be on the Internet and will be indexed by the major search engines. As a result of this an attacker could easily construct a search query to find sites running old versions of CubeCart.

The fact that CubeCart did not highlight the fix in their release notes is a very irresponsible move. It shows a serious lack of professionalism when an organisation fixes a critical vulnerability in their product but neglect to inform their customers. As a result of this most people running CubeCart are not going to be aware of this vulnerability or the fact that it has been fixed in the latest release. If you or any of your clients run CubeCart then you should upgrade immediately to version 4.3.5.

 

Dave

--

If you liked this article then you can:


Related Blog Posts:

Oct 27
2009

Fundamental flaw with 3D Secure

Posted by Dave in Visa , security , Phishing , passwords , online payments , MasterCard , Chip and PIN , Application Security , 3D Secure

verified by visa logo3D Secure is the payment industries Internet authentication standard. The Visa implementation is known as Verified by VISA and MasterCard is known as MasterCard SecureCode. When a cardholder enrolls for 3D Secure they get a password associated with their card. From this point on, when they visit a site that supports 3D Secure they will be prompted to enter the password to verify their identity. 3D Secure shifts the liability for fraudulent transactions from the Merchant to the cardholders issuing bank so this is a strong incentive for Merchants to adopt the standard.

3D Secure allows the cardholder to create a new password if they forget their current password. The manner in which this forgot password functionality is implemented seriously undermines 3D Secure and its use as an Internet authentication standard.

I am a frequent online shopper but I rarely come across sites that support 3D Secure. Recently I was purchasing some Skype credit and after entering my card details I was presented with a screen indicating that I had to verify my payment before I could proceed. 

 

Verified by Visa Verify Payment page

 

After clicking on the 'Verify payment' button I was prompted to enter my 3D secure password

 

Verified by Visa Enter 3D Secure Password Page

 

Rather than enter my password I clicked on the 'Forgot your password?' link. I have blocked out my login name in the above screen-shot but it was displayed as static text.  After clicking the 'Forgot your password?' link I was presented with the Verified by Visa 'Forgot Your Password - Identification' form.

 

 

The Forgot Password indentification page for Verified by VISA

 

Here I was prompted to enter the following information:

  • The 3 digit security code on the back of my card, known as the Card Verification Code (CVC).
  • The credit card expiry date.
  • Cardholder Name as it appears on the card.
  • Cardholder date of birth.


To my surprise after successfully entering all of this information a 'Create Password' form was displayed.

 

 

The Create Password page for Verified by VISA and 3D Secure

 

Here I am able to create a new password to be associated with my credit card for 3D secure transactions. It is worth noting that the password complexity rules enforced for the 3D secure password would not necessarily produce a password that one would regard as complex. The password must contain between 8 and 32 characters, contain at least one number and one letter. Once I created a new password I was then proceed to complete my purchase. Later I received an email from MBNA confirming that I had updated my 3D Secure account profile.

 

Email from 3D Secure indicating that my profile has been updated

 

So what is the problem?

There are two fundamental flaws with the 3D Secure 'Forgot Password' process.

  1. The information required to change the password.
  2. The method by which the cardholder is notified of the password change.

 

 

1. The information required to change the password

Three out of the four pieces of information required to change the 3D secure password are available on the Visa card.

  • The 3 digit security code on the back of my card, known as the Card Verification Code (CVC).
  • The credit card expiry date.
  • Cardholder Name as it appears on the card.


If someone is attempting a fraudulent transaction they will have already provided the CVC and the expiry date earlier in the transaction. There is a good chance they also have the cardholder name but if not they can easily determine it from the 'Login Name' displayed on the initial 'Verify Payment' view. The final piece of information required is the cardholders date of birth and if the cardholder has an online presence (e.g. Facebook, Bebo, LinkedIn etc.) then this is not exactly difficult to determine.

 

2. The method by which the cardholder is notified of the password change

The email to notify me that my password had changed came from mbna@securesuite.co.uk. The email contains links to a different domain www.mbna.3dsecurecard.ie/visa than that of the email. The combination of these two points make the email look like a phishing email. This is exactly the sort of email that we as security professionals educate people to ignore. Changing your 3D secure password is a pretty big deal yet the email does not mention that the password has been changed only that the 3D secure account profile has been updated.

3D Secure is often viewed as the online version of Chip and PIN. Imagine if this 'Forgot password' process was applied to Chip and PIN in the offline world. When paying for a purchase at a POS device you would have the option 'Forgot PIN'. Selecting this would allow you to reset your PIN by entering the CVC, expiry date, cardholder name and cardholder date of birth. This scenario sounds ridiculous because it is. This would never happen offline so why implement such a process online where there is even greater potential and risk of fraud?


Dave

--

If you liked this article then you can:


Related Blog Posts:

<< Start < Prev 1 2 3 4 5 6 7 8 9 10 Next > End >>
Tag Cloud