HighGHSA-v98h-vmpc-fpqvCVE-2026-47762

TinyMCE Cross-Site Scripting (XSS) vulnerability through `mce:protected` comments

Published 5 Jun 2026 · Updated 15 Jul 2026

Affected packages

Affected
<=5.10.9
Fixed in
No fix released
Affected
>=6.0.0 <7.9.3
Fixed in
7.9.3
Update to the fixed version for your release line, for example:npm install tinymce@7.9.3
Affected
>=8.0.0 <8.5.1
Fixed in
8.5.1
Update to the fixed version for your release line, for example:npm install tinymce@8.5.1
Affected
<=5.10.9
Fixed in
No fix released
Affected
>=6.0.0 <7.9.3
Fixed in
7.9.3
Update to the fixed version for your release line, for example:composer require tinymce/tinymce:^7.9.3
Affected
>=8.0.0 <8.5.1
Fixed in
8.5.1
Update to the fixed version for your release line, for example:composer require tinymce/tinymce:^8.5.1

Details

Impact

Stored XSS vulnerability via forged mce:protected comments. Allows attackers to bypass sanitization and inject scripts that execute when content is restored. Impacts users who utilize the protect option.

Patches

Patched by validating decoded mce:protected content against configured protect regex rules before restoring. Users should upgrade to the latest patched version.

Workarounds

No official workaround available.

Fix

To avoid this vulnerability:

Upgrade to TinyMCE 8.5.1 or higher. Upgrade to TinyMCE 7.9.3 or higher. Upgrade to TinyMCE 5.11.1 LTS or higher for TinyMCE 5.x (only available as part of commercial long-term support contract).

Acknowledgements

Tiny thanks Ivan Babenko for their help identifying this vulnerability.

Is GHSA-v98h-vmpc-fpqv 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.