MediumGHSA-gg8r-xjwq-4w92CVE-2022-23494

Cross-site scripting vulnerability in TinyMCE alerts

Published 8 Dec 2022 · Updated 8 Nov 2023

Affected packages

Affected
>=6.0.0 <6.3.1
Fixed in
6.3.1
Update to the fixed version for your release line, for example:npm install tinymce@6.3.1
Affected
>=6.0.0 <6.3.1
Fixed in
6.3.1
Update to the fixed version for your release line, for example:composer require tinymce/tinymce:^6.3.1
Affected
<5.10.7
Fixed in
5.10.7
Update to the fixed version for your release line, for example:npm install tinymce@5.10.7
Affected
<5.10.7
Fixed in
5.10.7
Update to the fixed version for your release line, for example:composer require tinymce/tinymce:^5.10.7

Details

Impact

A cross-site scripting (XSS) vulnerability was discovered in the alert and confirm dialogs when these dialogs were provided with malicious HTML content. This can occur in plugins that use the alert or confirm dialogs, such as in the image plugin, which presents these dialogs when certain errors occur. The vulnerability allowed arbitrary JavaScript execution when an alert presented in the TinyMCE UI for the current user.

Patches

This vulnerability has been patched in TinyMCE 5.10.7 and TinyMCE 6.3.1 by ensuring HTML sanitization was still performed after unwrapping invalid elements.

Fix

To avoid this vulnerability:

  • Upgrade to TinyMCE 5.10.7 or higher for TinyMCE 5.x.
  • Upgrade to TinyMCE 6.3.1 or higher for TinyMCE 6.x.

Workaround

To reduce the impact of this vulnerability:

  • Ensure the the images_upload_handler returns a valid value as per the images_upload_handler documentation.

References

  • https://www.tiny.cloud/docs/release-notes/release-notes5107/#securityfixes
  • https://www.tiny.cloud/docs/tinymce/6/6.3-release-notes/#security-fixes

For more information

If you have any questions or comments about this advisory:

  • Email us at [infosec@tiny.cloud](mailto:infosec@tiny.cloud)
  • Open an issue in the TinyMCE repo

Is GHSA-gg8r-xjwq-4w92 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.