- Advisory ID: DRUPAL-SA-CONTRIB-2012-064
- Project: Ubercart (third-party module)
- Version: 6.x, 7.x
- Date: 2012-April-25
- Security risk: Moderately critical
- Exploitable from: Varies (Local & Remote)
- Vulnerability: Cross Site Scripting, Arbitrary PHP code execution, Multiple vulnerabilities
The Ubercart module for Drupal provides a shopping cart and e-commerce features for Drupal. Parts of Ubercart were vulnerable to a Failure to encrypt data, Cross Site Scripting, and an Arbitrary PHP Execution vulnerability.
Failure to encrypt data: Exploitable from local
Passwords supplied by new customers during checkout were stored as plain text until payment was completed for an order, for a maximum of 15 minutes. This vulnerability is not exploitable remotely, but information may have inadvertently been leaked via database access (e.g. backups, developer laptops that are compromised).
Cross Site Scripting: Exploitable from remote
The product classes feature did not properly sanitize output and was vulnerable to a cross site scripting attack. This vulnerability is mitigated by the fact that an attacker must have the "administer product classes" permission.
Arbitrary PHP Execution: Exploitable from remote
In Ubercart 6.x-2.x, arbitrary PHP code can be executed by users with the "administer conditional actions" permission. This vulnerability is mitigated by the fact that this permission should only granted to trusted users.
Drupal core is not affected. If you do not use the contributed Ubercart module, there is nothing you need to do.
Install the latest version:
- If you use the Ubercart module for Drupal 6.x, upgrade to Ubercart 6.x-2.8.
- If you use the Ubercart module for Drupal 7.x, upgrade to Ubercart 7.x-3.1.
Additionally, in Drupal 6.x, ensure that only trusted users have roles that have been granted the "administer conditional actions" permission.
Also see the Ubercart project page.
- Shaun Dychko reported the Failure to encrypt data issue
- Lee Rowlands reported the Cross Site Scripting issue
- Dave Long reported the Arbitrary PHP Execution issue
- Greg Knaddison of the Drupal Security Team
Contact and More Information
The Drupal security team can be reached at security at drupal.org or via the contact form at http://drupal.org/contact.