• Advisory ID: DRUPAL-SA-CONTRIB-2012-040
  • Project: CKEditor, FCKeditor - WYSIWYG HTML editor (third-party module)
  • Version: 6.x, 7.x
  • Date: 2012-March-14
  • Security risk: Highly critical
  • Exploitable from: Remote
  • Vulnerability: Cross Site Scripting, Cross Site Request Forgery, Arbitrary PHP code execution

Description

CKEditor and its predecessor FCKeditor allow Drupal to replace textarea fields with the (F)CKEditor - a visual HTML WYSIWYG editor.

The modules have an AJAX callback that filters text to prevent Cross site scripting attacks on content edits. This AJAX callback function contains a number of bugs which allow attackers to chose which filter to execute on chosen text or bypass the filter entirely.

The vulnerability can be used to conduct Cross site scripting (XSS) attacks on privileged users. Attackers can also execute arbitrary PHP code if the core PHP module is enabled. This can happen either directly or by enticing a privileged user to visit a page.

Direct execution of PHP code requires that the attacker has the following privileges:

"access fckeditor" for FCKeditor 6.x
"access ckeditor" for CKEditor 6.x

No additional permissions are required to directly exploit the PHP code execution flaw on CKEditor 7.x.

The XSS issue is
CVE: CVE-2012-2066
The arbitrary code execution issue is
CVE: CVE-2012-2067

Versions affected

  • FCKeditor 6.x-2.x versions prior to 6.x-2.3.
  • CKEditor 6.x-1.x versions prior to 6.x-1.9.
  • CKEditor 7.x-1.x versions prior to 7.x-1.7.

Drupal core is not affected. If you do not use the contributed CKEditor - WYSIWYG HTML editor module, there is nothing you need to do.

Solution

Install the latest version:

See also the CKEditor - WYSIWYG HTML editor project page.

Reported by

Fixed 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.