VDB
Sign up
MEDIUM

GHSA-c78w-2gw7-gjv3

XSS in TinyMCE

Quick fix

GHSA-c78w-2gw7-gjv3 — tinymce: upgrade to the fixed version with the command below.

npm install tinymce@4.9.10

Details

### 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 ```js 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](https://github.com/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: * Open an issue in the [TinyMCE repo](https://github.com/tinymce/tinymce/issues) * Email us at [infosec@tiny.cloud](mailto:infosec@tiny.cloud)

Are you affected?

Enter the version of the package you're using.

Affected packages

npm/tinymce
Introduced in: 0Fixed in: 4.9.10
Fixnpm install tinymce@4.9.10
npm/tinymce
Introduced in: 5.0.0Fixed in: 5.2.2
Fixnpm install tinymce@5.2.2

References