TinyMCE XSS vulnerability in notificationManager.open API
Published 19 Oct 2023 · Updated 16 Feb 2024
Affected packages
- Affected
- >=6.0.0 <6.7.1
- Fixed in
- 6.7.1
npm install tinymce@6.7.1- Affected
- >=6.0.0 <6.7.1
- Fixed in
- 6.7.1
composer require tinymce/tinymce:^6.7.1- Affected
- <5.10.8
- Fixed in
- 5.10.8
npm install tinymce@5.10.8- Affected
- <5.10.8
- Fixed in
- 5.10.8
composer require tinymce/tinymce:^5.10.8Details
Impact
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.
Patches
This vulnerability has been patched in TinyMCE 5.10.8 and TinyMCE 6.7.1 by ensuring that the HTML displayed in the notification is sanitized, preventing the exploit.
Fix
To avoid this vulnerability:
- Upgrade to TinyMCE 5.10.8 or higher for TinyMCE 5.x.
- Upgrade to TinyMCE 6.7.1 or higher for TinyMCE 6.x.
References
- <https://tiny.cloud/docs/release-notes/release-notes5108/#securityfixes>
- <https://tiny.cloud/docs/tinymce/6/6.7.1-release-notes/#security-fixes>
For more information
If you have any questions or comments about this advisory:
- Email us at <infosec@tiny.cloud>
- Open an issue in the TinyMCE repo
Is GHSA-hgqx-r2hp-jr38 in any of your client repos?
Checking one package by hand is fine. Checking it across forty client projects is not. NPMscan reads the lockfiles in every GitHub repo you pick, finds each project with an affected tinymce, and gives you the command that fixes it.
References
Advisory data from OSV.dev (opens OSV.dev in a new tab), refreshed daily.