GHSA-vrv8-v4w8-f95h
Cross-site scripting vulnerability in TinyMCE
Packages
Details
As written in the advisory (Markdown source, shown as plain text).
### 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 [[email protected]](mailto:[email protected])
References
External links from the advisory. They lead to third-party sites.
- https://github.com/tinymce/tinymce/security/advisories/GHSA-vrv8-v4w8-f95h
- https://github.com/tinymce/tinymce/pull/5843
- https://github.com/tinymce/tinymce/commit/2b71c922214d388838d930806207a66c14e80f63
- https://github.com/tinymce/tinymce/commit/696e43658dc9750ec24fdc4650bd2be9653daf5b
- https://github.com/tinymce/tinymce
- https://www.tiny.cloud/docs/release-notes/release-notes54/#securityfixes