CVE-2024-21911
mediumpriority · track · 24EPSS 0.012 · 67 %ileEUUSEPSS · scored 2026-10-27
TinyMCE versions before 5.6.0 are affected by a stored cross-site scripting vulnerability. An unauthenticated and remote attacker could insert crafted HTML into the editor resulting in arbitrary JavaScript execution in another user's browser.
cvss
Technical severity, 0–10. One row per scoring source.
base score 0–10 · higher = more severe · hover a vector to decode
ssvc
A stakeholder decision — act, attend, or track — from exploitation and impact.
weaknesses
The CWE weakness classes this flaw belongs to.
affected products (4)
Products and version ranges known to be affected.
advisories (1)
Vendor and ecosystem advisories describing this.
- GHSA-w7jx-j77m-wp65Cross-site scripting vulnerability in TinyMCE2021-01-06ghsa · osvUS
### Impact A cross-site scripting (XSS) vulnerability was discovered in the URL sanitization logic of the core parser. The vulnerability allowed arbitrary JavaScript execution when inserting a specially crafted piece of content into the editor using the clipboard or APIs. This impacts all users who are using TinyMCE 5.5.1 or lower. ### Patches This vulnerability has been patched in TinyMCE 5.6.0 by improved URL sanitization logic. ### Workarounds To work around this vulnerability, either: - Upgrade to TinyMCE 5.6.0 or higher - Manually sanitize `iframe`, `object` and `embed` URL attributes using a [TinyMCE node filter](https://www.tiny.cloud/docs/api/tinymce.html/tinymce.html.domparser/#addnodefilter). - Disable `iframe`, `object`, and `embed` elements in your content using the [invalid_elements](https://www.tiny.cloud/docs/configure/content-filtering/#invalid_elements) setting. #### Example: Sanitizing using a node filter ```js editor.parser.addNodeFilter('iframe,object,embed', function(nodes) { nodes.forEach(function(node) { if (node.attributes) { node.attributes.forEach(function(attr) { var name = attr.name; var value = attr.value; // Sanitize the attribute value here or remove it entirely var sanitizedValue = ...; node.attr(name, santizedValue); }); } }); }); ``` #### Example: Using invalid_elements ```js invalid_elements: 'iframe,object,embed' ``` ### Acknowledgements Tiny Technologies would like to thank Aaron Bishop at SecurityMetrics for discovering this vulnerability. ### References https://www.tiny.cloud/docs/release-notes/release-notes56/#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 [infosec@tiny.cloud](mailto:infosec@tiny.cloud)
also known as (3)
Other names and identifiers for this entity.
sources
Which sources assert this record, and when.
references (16)
External citations — patches, advisories, analysis.
- https://cxsecurity.com/cveshow/CVE-2024-21911/cnnvd
- https://github.com/advisories/GHSA-w7jx-j77m-wp65cnnvd
- https://github.com/tinymce/tinymce/security/advisories/GHSA-w7jx-j77m-wp65cnnvd
- https://vulncheck.com/advisories/vc-advisory-GHSA-w7jx-j77m-wp65cnnvd
- https://www.npmjs.com/package/tinymcecnnvd
- https://www.tiny.cloud/docs/release-notes/release-notes56/#securityfixescnnvd
- https://github.com/advisories/GHSA-w7jx-j77m-wp65enisa_euvd
- https://github.com/tinymce/tinymce/security/advisories/GHSA-w7jx-j77m-wp65enisa_euvd
Attackers weaponise vulnerabilities like this against internet-exposed services. See what is exposed on your perimeter with a free passive scan.
Free scan