* Advisory ID: DRUPAL-SA-CONTRIB-2009-059 * Project: OpenID (third-party module) * Version: 5.x * Date: 2009-September-16 * Security risk: Critical * Exploitable from: Remote * Vulnerability: Impersonation, cross site request forgery
-------- DESCRIPTION ---------------------------------------------------------
The contributed OpenID module for Drupal 5 allows users to create an account or log into a Drupal site using one or more OpenID identities. The 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 [1] to add attacker controlled OpenID identities to existing accounts. These OpenID identities can then be used to gain access to the affected accounts. .... 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. -------- VERSIONS AFFECTED ---------------------------------------------------
* OpenID for Drupal 5.x prior to 5.x-1.3
Drupal 6.x core has a similar issue, see SA-CORE-2009-008 [2] for details. -------- SOLUTION ------------------------------------------------------------
Upgrade to the latest version: * If you use OpenID for Drupal 5.x upgrade to OpenID 5.x-1.3 [3]
*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. See also the OpenID project page [4]. -------- REPORTED BY ---------------------------------------------------------
The OpenID impersonation was reported by Robert Metcalf [5]. The OpenID association CSRF was reported by Heine Deelstra [6] (*). (*) Member of the Drupal security team. -------- FIXED BY ------------------------------------------------------------
The issues were fixed by Heine Deelstra [7]. -------- CONTACT -------------------------------------------------------------
The security contact for Drupal can be reached at security at drupal.org or via the form at http://drupal.org/contact.
[1] http://en.wikipedia.org/wiki/Cross-site_request_forgery [2] http://drupal.org/node/579482 [3] http://drupal.org/node/579470 [4] http://drupal.org/project/openid [5] http://drupal.org/user/581142 [6] http://drupal.org/user/17943 [7] http://drupal.org/user/17943