• Advisory ID: DRUPAL-SA-CONTRIB-2014-007
  • Project: Services (third-party module)
  • Version: 7.x
  • Date: 2014-January-29
  • Security risk: Highly critical
  • Exploitable from: Remote
  • Vulnerability: Multiple access bypass vulnerabilities

Description

This module enables you to expose an API to third party systems using REST, XML-RPC or other protocols.

The form API provides a method for developers to submit forms programmatically using the function drupal_form_submit(). During programmatic form submissions, all access checks are deliberately bypassed, and any form element may be submitted regardless of the current user's access level.

To facilitate this, a new, optional $form_state['programmed_bypass_access_check'] element has been added to the Drupal 7 form API. If this is provided and set to FALSE, drupal_form_submit() will perform the normal form access checks against the current user while submitting the form, rather than bypassing them.

Services relies heavily on programmatic form submission and therefore needs to use this new $form_state['programmed_bypass_access_check'] so that access control parameters and hooks are performed for untrusted users.

CVE identifier(s) issued

  • A CVE identifier will be requested, and added upon issuance, in accordance with Drupal Security Team processes.

Versions affected

  • Services 7.x-3.x versions prior to 7.x-3.5.

Drupal core is not affected. If you do not use the contributed Services module, there is nothing you need to do.

Solution

Install the latest version:

Also see the Services project page.

Reported by

Fixed by

Coordinated by

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