Drupal NodeQueue 6.x-2.1 XSS Vulnerability
Description of Vulnerability:
Drupal (http://drupal.org) is a robust content management system (CMS) written in PHP and MySQL that provides extensibility through various third party modules. The NodeQueue module (http://drupal.org/project/nodequeue) provides functionality for arbitrarily grouping nodes for organizational and presentation purposes. The NodeQueue module suffers from a cross site scripting (XSS) vulnerability due to the fact that it does not properly sanitize taxonomy names during display.
Drupal 6.12 with NodeQueue 6.x-2.1 was tested and shown to be vulnerable.
XSS vulnerabilities may expose site administrative accounts to compromise which could lead to web server process compromise.
The Node Queue must be installed and enabled. Attacker must have 'administer taxonomy' permissions in order to carry out the proof of concept exploit detailed below. Note that the proof of concept provided utilizes known attack vectors, other vectors may exist.
Proof of concept:
- Install Drupal 6.12.
- Install and enable the Node Queue module
- Click on 'Administer' -> 'Taxonomy Manager'
- Click 'Add new vocabulary'
- Fill in "<script>alert('xss');</script>' for the 'Vocabulary name:' textarea value
- Enter arbitrary data for the rest of the input
- Click 'Save'
- Click on Administer -> Nodequeue -> 'Add taxonomy queue'
Upgrade Nodequeue module to the latest version http://drupal.org/node/488092.