• Advisory ID: DRUPAL-SA-2006-025
  • Project: Drupal core
  • Date: 2006-Oct-18
  • Security risk: Highly critical
  • Exploitable from: Remote
  • Vulnerability: Cross site request forgeries


Visiting a specially crafted page, anywhere on the web, may allow that page to post forms to a Drupal site in the context of the visitor's session. To illustrate; suppose one has an active user 1 session, the most powerful administrator account for a site, to a Drupal site while visiting a website created by an attacker. This website will now be able to submit any form to the Drupal site with the privileges of user 1, either by enticing the user to submit a form or by automated means.

An attacker can exploit this vulnerability by changing passwords, posting PHP code or creating new users, for example. The attack is only limited by the privileges of the session it executes in.

Versions affected

  • Drupal 4.6.x versions before Drupal 4.6.10
  • Drupal 4.7.x versions before Drupal 4.7.4


  • If you are running Drupal 4.6.x then upgrade to Drupal 4.6.10.
  • If you are running Drupal 4.7.x then upgrade to Drupal 4.7.4.

Please note that the patches only contain changes related to this advisory, and do not fix bugs that were solved in 4.6.10 or 4.7.4.

Important note for Drupal 4.6.10

Any custom forms that do not use the proper form API functions, such as raw HTML forms, will break for authenticated users and need to be updated. The easiest way to do so is to add the output of form_token() before the closing form tag. For phptemplate themes, add the following code before the closing form tag:

<?php print form_token() ?>

We advise you test modules and themes in use before committing to an upgrade.

Important note for Drupal 4.7.4

Drupal 4.7.4 adds a new form field to all forms. Contributed modules and themes that assume only specific, known form fields to be present, may break on Drupal 4.7.4.

We advise you test modules and themes in use before committing to an upgrade.

Reported by

Garvin Hicking.


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