CVE-2020-12648
Cross-site scripting vulnerability in TinyMCE
Description
### Impact A cross-site scripting (XSS) vulnerability was discovered in the core parser. 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.10 or lower and TinyMCE 5.4.0 or lower. ### Patches This vulnerability has been patched in TinyMCE 4.9.11 and 5.4.1 by improved HTML parsing and sanitization logic. ### Workarounds The workarounds available are: - upgrade to either TinyMCE 4.9.11 or TinyMCE 5.4.1 or - enable the media plugin, which overrides the default parsing behaviour for iframes or - add the following workaround to update the parsing schema rules for iframes: #### Example: Change the default schema for iframes ```js setup: function(editor) { editor.on('PreInit', function() { editor.schema.getSpecialElements()['iframe'] = /</iframe[^>]*>/gi; }); } ``` ### Acknowledgements Tiny Technologies would like to thank George Steketee and Chris Davis at [Bishop Fox](https://www.bishopfox.com/) for discovering this vulnerability. ### References https://www.tiny.cloud/docs/release-notes/release-notes54/#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)
How to fix CVE-2020-12648
To remediate CVE-2020-12648, upgrade the affected package to a fixed version below.
- —upgrade to 4.9.11 or later
Is CVE-2020-12648 being exploited?
Low — EPSS is 0.3%, meaning exploitation activity has not been observed at scale.
Affected packages (1)
- from 0, < 4.9.11