CVE-2024-29881: TinyMCE Cross-Site Scripting (XSS) vulnerability in handling external SVG files through Object or Embed elements
4.3
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.41451%
CWE
Published
3/26/2024
Updated
3/26/2024
KEV Status
No
Technology
PHP
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N
| Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
|---|---|---|---|
| tinymce/tinymce | composer | < 7.0.0 | 7.0.0 |
| tinymce | npm | < 7.0.0 | 7.0.0 |
| TinyMCE | nuget | < 7.0.0 | 7.0.0 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from TinyMCE's handling of 'object' and 'embed' elements containing SVG files. The commit diff shows the critical fix was adding a node filter in ParserFilters.ts that converts these elements to safer alternatives based on MIME type. Before this fix (versions <7.0.0), the register function did not include this filter, leaving the parser vulnerable to XSS via unprocessed object/embed elements. The addition of the convert_unsafe_embeds option and associated filtering logic in this function directly addresses the vulnerability, confirming its role in the exploit path.