- Advisory ID: DRUPAL-SA-CORE-2014-002
- Project: Drupal core
- Version: 6.x, 7.x
- Date: 2014-April-16
- Security risk: Moderately critical
- Exploitable from: Remote
- Vulnerability: Information Disclosure
Description
Drupal’s form API has built-in support for temporary storage of form state, for example user input. This is often used on multi-step forms, and is required on Ajax-enabled forms in order to allow the Ajax calls to access and update interim user input on the server.
When pages are cached for anonymous users (either by Drupal or by an external system), form state may leak between anonymous users. As a consequence there is a chance that interim form input recorded for one anonymous user (which may include sensitive or private information, depending on the nature of the form) will be disclosed to other users interacting with the same form at the same time. This especially affects multi-step Ajax forms because the window of opportunity (i.e. the time span between user input and final form submission) is indeterminable.
This vulnerability is mitigated by the fact that Drupal core does not expose any such forms to anonymous users by default. However, contributed modules or individual sites which leverage the Drupal Form API under the aforementioned conditions might be vulnerable.
Note: This security release introduces small API changes which may require code updates on sites that expose Ajax or multi-step forms to anonymous users, and where the forms are displayed on pages that are cached (either by Drupal or by an external system). See the Drupal 6.31 release notes and Drupal 7.27 release notes for more information.
CVE identifier(s) issued
- CVE-2014-2983
Versions affected
- Drupal core 6.x versions prior to 6.31.
- Drupal core 7.x versions prior to 7.27.
Solution
Install the latest version:
- If you use Drupal 6.x, upgrade to Drupal 6.31
- If you use Drupal 7.x, upgrade to Drupal 7.27
Also see the Drupal core project page.
Reported by
Fixed by
- znerol
- Roman Zimmermann
- Ryan Szrama
- Additional assistance and reviews provided by Daniel F. Kudwien, Damien Tournoud of the Drupal Security Team, David Rothstein of the Drupal Security Team, and Alex Bronstein
Coordinated by
- Michael Hess of the Drupal Security Team
- David Rothstein of the Drupal Security Team
- Peter Wolanin 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.
Learn more about the Drupal Security team and their policies, writing secure code for Drupal, and securing your site.
Follow the Drupal Security Team on Twitter at https://twitter.com/drupalsecurity