Skip to content

XSS in TinyMCE

Moderate severity GitHub Reviewed Published May 7, 2020 in tinymce/tinymce • Updated Jan 9, 2023

Package

npm tinymce (npm)

Affected versions

< 4.9.10
>= 5.0.0, < 5.2.2

Patched versions

4.9.10
5.2.2

Description

Impact

A cross-site scripting (XSS) vulnerability was discovered in: the core parser and media plugin. The vulnerability allowed arbitrary JavaScript execution when inserting a specially crafted piece of content into the editor via the clipboard or APIs. This impacts all users who are using TinyMCE 4.9.9 or lower and TinyMCE 5.2.1 or lower.

Patches

This vulnerability has been patched in TinyMCE 4.9.10 and 5.2.2 by improved HTML parsing and sanitization logic.

Workarounds

The workarounds available are:

  • disable the media plugin and manually sanitize CDATA content (see below)
    or
  • upgrade to either TinyMCE 4.9.10 or TinyMCE 5.2.2

Example: Manually strip CDATA elements

setup: function(editor) {
  editor.on('PreInit', function() {
    editor.parser.addNodeFilter('#cdata', function(nodes) {
      for (var i = 0; i < nodes.length; i++) {
        nodes[i].remove();
      }
    });
  });
}

Acknowledgements

Tiny Technologies would like to thank Michał Bentkowski and intivesec for discovering these vulnerabilities.

References

https://www.tiny.cloud/docs/release-notes/release-notes522/#securityfixes

For more information

If you have any questions or comments about this advisory:

References

@lnewson lnewson published to tinymce/tinymce May 7, 2020
Reviewed May 11, 2020
Published to the GitHub Advisory Database May 11, 2020
Last updated Jan 9, 2023

Severity

Moderate

EPSS score

Exploit Prediction Scoring System (EPSS)

This score estimates the probability of this vulnerability being exploited within the next 30 days. Data provided by FIRST.
(77th percentile)

Weaknesses

Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users. Learn more on MITRE.

CVE ID

CVE-2019-1010091

GHSA ID

GHSA-c78w-2gw7-gjv3

Source code

No known source code
Loading Checking history
See something to contribute? Suggest improvements for this vulnerability.