- Advisory ID: DRUPAL-SA-CONTRIB-2015-141
- Project: Chaos tool suite (ctools) (third-party module)
- Version: 6.x, 7.x
- Date: 2015-August-19
- Security risk: 14/25 ( Moderately Critical) AC:Basic/A:User/CI:Some/II:Some/E:Theoretical/TD:All
- Vulnerability: Cross Site Scripting, Access bypass, Multiple vulnerabilities
Description
Cross Site Scripting (XSS)
Ctools in Drupal 6 provides a number of APIs and extensions for Drupal, and is a dependency for many of the most popular modules, including Views, Panels and Entityreference. Many features introduced in Drupal Core once lived in ctools.
This vulnerability can be mitigated by the fact that ctools must load its javascript on the page and the user has access to submit data through a form (such as a comment or node) that allows ‘a’ tags.
This patch is a backport for SA-CORE-2015-003.
Access bypass
This module provides a number of APIs and extensions for Drupal, and is a dependency for many of the most popular modules, including Views, Panels and Features.
The module doesn’t sufficiently verify the “edit” permission for the “content type” plugins that are used on Panels and similar systems to place content and functionality on a page.
This vulnerability is mitigated by the fact that the user must have access to edit a display via a Panels display system, e.g. via Panels pages, Mini Panels, Panel Nodes, Panelizer displays, IPE, Panels Everywhere, etc. Furthermore, either a contributed module provides a CTools content type plugin, or a custom plugin must be written that inherits permissions from another plugin and must have a different permission defined; if no “edit” permission is set up for the child object CTools did not check the permissions of the parent object. One potential scenario would allow people who did not have edit access to Fieldable Panels Panes panes, which were specifically set to not be reusable, to edit them despite the person’s lack of access.
CVE identifier(s) issued
- A CVE identifier will be requested, and added upon issuance, in accordance with Drupal Security Team processes.
Versions affected
Cross Site Scripting:
- ctools 6.x-1.x versions prior to 6.x-1.14.
Access bypass:
- ctools 6.x-1.x versions prior to 6.x-1.14.
- ctools 7.x-1.x versions prior to 7.x-1.8.
Drupal core is not affected. If you do not use the contributed Chaos tool suite (ctools) module, there is nothing you need to do.
Solution
Install the latest version:
- If you use the ctools module for Drupal 6.x, upgrade to ctools 6.x-1.14
- If you use the ctools module for Drupal 7.x, upgrade to ctools 7.x-1.8
Also see the Chaos tool suite (ctools) project page.
Reported by
Cross Site Scripting:
- Peter Wolanin of the Drupal Security Team
Access bypass:
Fixed by
Cross Site Scripting:
- James Gilliland of the Drupal Security Team
- Alex Bronstein, Drupal core patch coordinator
- Kris Vanderwater the module maintainer
- Jakob Perry the module maintainer
Access bypass:
- Andor Dávid
- Damien McKenna, provisional member of the Drupal Security Team
- Michael Miles of the Drupal Security Team
- Jakob Perry the module maintainer
Coordinated by
- Pere Orga 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 https://www.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