NOTE: TinyMCE 5 reached End of Support in April 2023. No more bug fixes, security updates, or new features will be introduced to TinyMCE 5. We recommend you upgrade to TinyMCE 6 or consider TinyMCE 5 Long Term Support (LTS) if you need more time.
Overview
TinyMCE 5.10.8 was released for TinyMCE Enterprise and Tiny Cloud on Thursday, October 19th, 2023. It includes TinyMCE 5.10.8. These release notes provide an overview of the changes for TinyMCE 5.10.8, including:
Note: This is the Tiny Cloud and TinyMCE Enterprise release notes. For information on the latest community version of TinyMCE, see: TinyMCE Changelog.
Security fixes
TinyMCE 5.10.8 provides fixes for the following security issue:
Specific HTML content caused mXSS when using undo/redo, the getContent API with the format: 'raw' option, the resetContent API, and the Autosave plugin
A mutation cross-site scripting (mXSS) vulnerability was discovered in TinyMCE’s core undo and redo functionality.
When a carefully-crafted HTML snippet passes the XSS sanitization layer, it is manipulated as a string by internal trimming functions before being stored in the undo stack.
If the HTML snippet is restored from the undo stack, the combination of the string manipulation and reparative parsing by the SaxParser API mutates the HTML maliciously, allowing an XSS payload to be executed.
This vulnerability also impacts these related TinyMCE APIs and plugins:
tinymce.Editor.getContent({ format: 'raw' })
.tinymce.Editor.resetContent()
.- Autosave open source plugin.
This vulnerability has been patched in TinyMCE 5.10.8 by ensuring HTML is trimmed using node-level manipulation instead of string manipulation.
GHSA: GitHub Advisories.
NOTE: Tiny Technologies would like to thank Masato Kinugawa of Cure53 for discovering this vulnerability.
Notification messages containing HTML were not properly XSS sanitized before being displayed.
A cross-site scripting (XSS) vulnerability was discovered in TinyMCE’s Notification Manager API. The vulnerability exploits TinyMCE’s unfiltered notification system, which is used in error handling. The conditions for this exploit requires carefully crafted malicious content to have been inserted into the editor and a notification to have been triggered.
When a notification was opened, the HTML within the text argument was displayed unfiltered in the notification. The vulnerability allowed arbitrary JavaScript execution when an notification presented in the TinyMCE UI for the current user. This issue could also be exploited by any integration which uses a TinyMCE notification to display unfiltered HTML content.
This vulnerability has been patched in TinyMCE 5.10.8 by ensuring that the HTML displayed in the notification is sanitized, preventing the exploit.
GHSA: GitHub Advisories.
NOTE: Tiny Technologies would like to thank Phillp Sinnott and Mikko Rantalainen for discovering this vulnerability.
Upgrading to the latest version of TinyMCE 5
The procedure for upgrading to the latest version of TinyMCE 5 depends on the deployment type.
Upgrading Tiny Cloud
Tiny Cloud provides the latest enterprise version of TinyMCE. For information on configuring Tiny Cloud, see: the Cloud deployment guide.
Upgrading TinyMCE Self-hosted manually
To upgrade to TinyMCE 5.10 using a manually downloaded package:
-
Backup the
tinymce/
directory so any customizations can be restored after the upgrade.Customizations for TinyMCE are typically stored in the following directories:
tinymce/ ├── icons/ ├── langs/ ├── plugins/ ├── skins/ │ ├── content/ │ └── ui/ └── themes/
-
Download the latest version of TinyMCE.
- For the TinyMCE Community Version, download
tinymce_<VERSION>.zip
from Get TinyMCE - Self-hosted releases, where<VERSION>
is the latest version of TinyMCE. - For the TinyMCE Enterprise Version, download the TinyMCE Enterprise Bundle from Tiny Account > Downloads. The downloaded file will be named
enterprise_latest.zip
.
- For the TinyMCE Community Version, download
- Extract the downloaded
.zip
file to a temporary location. - (If required) Install the latest language packs from Get TinyMCE - Language Packages.
-
Copy customizations to the new
tinymce/
directory. Ensure that only custom changes are added the newtinymce/
directory, such as:- Custom icons packs
- Custom plugins
- Custom skins
- Custom themes
- Delete the existing
tinymce/
directory and replace with the newtinymce/
.
Note: To simplify the upgrade process to future versions of TinyMCE:
- Host the TinyMCE customizations outside of the
tinymce/
directory.Update your TinyMCE configuration as required:
- Set the location of content CSS customizations using
content_css
.- Set the location of custom plugins using
external_plugins
.- Set the location of custom icon packages using
icons_url
instead oficons
.- Set the location of custom localization packages using
language_url
instead oflanguage
.- Set the location of custom skin packages using
skin_url
instead ofskin
.- Set the location of custom themes using
theme_url
instead oftheme
.
Was this article helpful? Yes - No
Well, that's awkward . Would you mind opening an issue or helping us out?
Thanks for the feedback!
Can't find what you're looking for? Let us know.
Except as otherwise noted, the content of this page is licensed under the Creative Commons BY-NC-SA 3.0 License, and code samples are licensed under the Apache 2.0 License.