• Advisory ID: DRUPAL-SA-CONTRIB-2013-051
  • Project: Services (third-party module)
  • Version: 6.x, 7.x
  • Date: 2013-June-05
  • Security risk: Moderately critical
  • Exploitable from: Remote
  • Vulnerability: Cross Site Request Forgery

Description

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

The module doesn't sufficiently verify writing requests (POST, PUT, DELETE) with session cookie authentication, thereby exposing a Cross Site Request Forgery vulnerability.

This vulnerability is mitigated by the fact that session based authentication must be enabled for an endpoint.

CVE identifier(s) issued

  • CVE-2013-2158

Versions affected

  • Services 6.x-3.x versions.
  • Services 7.x-3.x versions prior to 7.x-3.4.

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 or uninstall the module.

  • If you use the Services module for Drupal 7.x, upgrade to Services 7.x-3.4
  • If you use the Services module for Drupal 6.x, uninstall the module.

Note that Services clients using session authentication now should supply a special X-CSRF-Token header with a token that can be retrieved from http://example.com/services/session/token. This is needed for writing HTTP methods calls (POST, PUT, DELETE).

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.