SA-CORE-2009-008 – Drupal core – Multiple vulnerabilities

  • Advisory ID: DRUPAL-SA-CORE-2009-008
  • Project: Drupal core
  • Version: 5.x, 6.x
  • Date: 2009-September-16
  • Security risk: Critical
  • Exploitable from: Remote
  • Vulnerability: Multiple vulnerabilities

Description

Multiple vulnerabilities and weaknesses were discovered in Drupal.

OpenID association cross site request forgeries

The OpenID module in Drupal 6 allows users to create an account or log into a Drupal site using one or more OpenID identities.

The core OpenID module does not correctly implement Form API for the form that allows one to link user accounts with OpenID identifiers. A malicious user is therefore able to use cross site request forgeries to add attacker controlled OpenID identities to existing accounts. These OpenID identities can then be used to gain access to the affected accounts.

This issue affects Drupal 6.x only.

OpenID impersonation

The OpenID module is not a compliant implementation of the OpenID Authentication 2.0 specification. An implementation error allows a user to access the account of another user when they share the same OpenID 2.0 provider.

This issue affects Drupal 6.x only.

File upload

File uploads with certain extensions are not correctly processed by the File API. This may lead to the creation of files that are executable by Apache. The .htaccess that is saved into the files directory by Drupal should normally prevent execution. The files are only executable when the server is configured to ignore the directives in the .htaccess file.

This issue affects Drupal 6.x only.

Session fixation

Drupal doesn’t regenerate the session ID when an anonymous user follows the one time login link used to confirm email addresses and reset forgotten passwords. This enables a malicious user to fix and reuse the session id of a victim under certain circumstances.

This issue affects Drupal 5.x only.

Versions affected

  • Drupal 6.x before version 6.14.
  • Drupal 5.x before version 5.20.

Solution

Install the latest version:

  • If you are running Drupal 6.x then upgrade to Drupal 6.14.
  • If you are running Drupal 5.x then upgrade to Drupal 5.20.

If you are unable to upgrade immediately, you can apply a patch to secure your installation until you are able to do a proper upgrade. Theses patches fix the security vulnerabilities, but do not contain other fixes which were released in Drupal 6.14 or Drupal 5.20.

Important note: Some users using OpenID might not be able to use the existing OpenID associations to login after the upgrade. These users should use the one time login via password recovery to get access to their user account and re-add desired associations. These users likely had issues with OpenID logins prior to the upgrade.

Reported by

The session fixation issue was reported by Noel Sharpe.
OpenID impersonation was reported by Robert Metcalf.
OpenID association CSRF was reported by Heine Deelstra (*).
The file upload issue was reported by Heine Deelstra (*).

(*) Member of the Drupal security team

Fixed by

The session fixation issue was fixed by Jakub Suchy.
The OpenID and file upload issues were fixed by Heine Deelstra.

Contact

The security team for Drupal can be reached at security at drupal.org or via the form at http://drupal.org/contact.

Drupal version: 

Leave a Reply