Drupal 6.x / 7.x Vulnerability

On March 18, 2015 a vulnerability was discovered that affects Drupal versions 6 and 7. The specific affected versions are any in Version 6 prior to 6.35 and any version 7 prior to 7.35.

This vulnerability allows attackers to forge password reset URLs and also forge specific redirect parameters. Below is the description straight from the Drupal organization.

Access bypass (Password reset URLs – Drupal 6 and 7)

Password reset URLs can be forged under certain circumstances, allowing an attacker to gain access to another user’s account without knowing the account’s password.

In Drupal 7, this vulnerability is mitigated by the fact that it can only be exploited on sites where accounts have been imported or programmatically edited in a way that results in the password hash in the database being the same for multiple user accounts. In Drupal 6, it can additionally be exploited on sites where administrators have created multiple new user accounts with the same password via the administrative interface, or where accounts have been imported or programmatically edited in a way that results in the password hash in the database being empty for at least one user account.

Drupal 6 sites that have empty password hashes, or a password field with a guessable string in the database, are especially prone to this vulnerability. This could apply to sites that use external authentication so that the password field is set to a fixed, invalid value.

Open redirect (Several vectors including the “destination” URL parameter – Drupal 6 and 7)

Drupal core and contributed modules frequently use a “destination” query string parameter in URLs to redirect users to a new destination after completing an action on the current page. Under certain circumstances, malicious users can use this parameter to construct a URL that will trick users into being redirected to a 3rd party website, thereby exposing the users to potential social engineering attacks.

In addition, several URL-related API functions in Drupal 6 and 7 can be tricked into passing through external URLs when not intending to, potentially leading to additional open redirect vulnerabilities.

This vulnerability is mitigated by the fact that many common uses of the “destination” parameter are not susceptible to the attack. However, all confirmation forms built using Drupal 7’s form API are vulnerable via the Cancel action that appears at the bottom of the form, and some Drupal 6 confirmation forms are vulnerable too.”

Solution

The solution is simple as the Drupal team has implemented a new patch for each version. Simply upgrade to the latest subversion for each major version. If you are on Drupal 6, upgrade to 6.35 and if you are on version 7 upgrade to 7.35.

Was this article helpful? Join the conversation!