Every CVE Search/ Get API key

CVE-2024-29881

TinyMCE Cross-Site Scripting (XSS) vulnerability in handling external SVG files through Object or Embed elements

4.3 MediumFix available

TinyMCE is an open source rich text editor. A cross-site scripting (XSS) vulnerability was discovered in TinyMCE’s content loading and content inserting code. A SVG image could be loaded though an object or embed element and that image could potentially contain a XSS payload. This vulnerability is fixed in 6.8.1 and 7.0.0.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
Required

What an attacker can affect

Confidentiality
Low
Integrity
None
Availability
None

Exploit likelihood

0.71%Up 0.7 points since Mar 27, 2024
90%50%10%1%

What each source reports

CVE List Score used 4.3

TinyMCE Cross-Site Scripting (XSS) vulnerability in handling external SVG files through Object or Embed elements

TinyMCE is an open source rich text editor. A cross-site scripting (XSS) vulnerability was discovered in TinyMCE’s content loading and content inserting code. A SVG image could be loaded though an object or embed element and that image could potentially contain a XSS payload. This vulnerability is fixed in 6.8.1 and 7.0.0.

Record
CVE-2024-29881
CVSS 3.1
4.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N
Weakness
CWE-79
Updated
2026-11-02
EUVDEUVD-2024-0820 4.3

TinyMCE is an open source rich text editor. A cross-site scripting (XSS) vulnerability was discovered in TinyMCE’s content loading and content inserting code. A SVG image could be loaded though an object or embed element and that image could potentially contain a XSS payload. This vulnerability is fixed in 6.8.1 and 7.0.0.

Record
EUVD-2024-0820
CVSS 3.1
4.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N
Updated
2026-11-03
GitHub AdvisoriesGHSA-5359-pvf2-pw78 4.3

TinyMCE Cross-Site Scripting (XSS) vulnerability in handling external SVG files through Object or Embed elements

Impact

A cross-site scripting (XSS) vulnerability was discovered in TinyMCE’s content loading and content inserting code. A SVG image could be loaded though an object or embed element and that image could potentially contain a XSS payload.

Fix

TinyMCE 6.8.1 introduced a new convert_unsafe_embeds option to automatically convert object and embed elements respective of their type attribute. From TinyMCE 7.0.0 onwards, the convert_unsafe_embeds option is enabled by default.

Workarounds

If you are using TinyMCE 6.8.1 or higher, set convert_unsafe_embeds to true. For any earlier versions, a custom NodeFilter is recommended to remove or modify any object or embed elements. This can be added using the editor.parser.addNodeFilter and editor.serializer.addNodeFilter APIs.

Acknowledgements

Tiny Technologies would like to thank Toni Huttunen of Fraktal Oy for discovering this vulnerability.

References

Record
GHSA-5359-pvf2-pw78
CVSS 3.1
4.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N
Weakness
CWE-79
Updated
2026-11-02
GitHub AdvisoriesGHSA-5vm8-hhgr-jcjp No score

Cross-site scripting vulnerability in TinyMCE

Impact

A cross-site scripting (XSS) vulnerability was discovered in the URL sanitization logic of the core parser for form elements. The vulnerability allowed arbitrary JavaScript execution when inserting a specially crafted piece of content into the editor using the clipboard or APIs, and then submitting the form. However, as TinyMCE does not allow forms to be submitted while editing, the vulnerability could only be triggered when the content was previewed or rendered outside of the editor. This impacts all users who are using TinyMCE 5.7.0 or lower.

Patches

This vulnerability has been patched in TinyMCE 5.7.1 by improved URL sanitization logic.

Workarounds

To work around this vulnerability, either:

  • Upgrade to TinyMCE 5.7.1 or higher
  • Manually sanitize form URL attributes using a TinyMCE node filter.
  • Disable form elements in your content using the invalid_elements setting.

Example: Sanitizing using a node filter

editor.parser.addNodeFilter('form', 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

invalid_elements: 'form'

Acknowledgements

Tiny Technologies would like to thank Mikhail Khramenkov at Solar Security Research Team for discovering this vulnerability.

References

https://www.tiny.cloud/docs/release-notes/release-notes571/#securityfixes

For more information

If you have any questions or comments about this advisory:

Record
GHSA-5vm8-hhgr-jcjp
Weakness
CWE-79
Updated
2026-11-02
NVD 4.3

TinyMCE is an open source rich text editor. A cross-site scripting (XSS) vulnerability was discovered in TinyMCE’s content loading and content inserting code. A SVG image could be loaded though an object or embed element and that image could potentially contain a XSS payload. This vulnerability is fixed in 6.8.1 and 7.0.0.

Record
CVE-2024-29881
CVSS 3.1
4.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N
CVSS 3.1
6.1 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Weakness
CWE-79
Updated
2026-11-02
OSV 4.3

TinyMCE Cross-Site Scripting (XSS) vulnerability in handling external SVG files through Object or Embed elements

TinyMCE is an open source rich text editor. A cross-site scripting (XSS) vulnerability was discovered in TinyMCE’s content loading and content inserting code. A SVG image could be loaded though an object or embed element and that image could potentially contain a XSS payload. This vulnerability is fixed in 6.8.1 and 7.0.0.

Record
CVE-2024-29881
CVSS 3.1
4.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N
Weakness
CWE-79
Updated
2026-11-02
Show 6 moreShow less
OSVGHSA-5359-pvf2-pw78 4.3

TinyMCE Cross-Site Scripting (XSS) vulnerability in handling external SVG files through Object or Embed elements

Impact

A cross-site scripting (XSS) vulnerability was discovered in TinyMCE’s content loading and content inserting code. A SVG image could be loaded though an object or embed element and that image could potentially contain a XSS payload.

Fix

TinyMCE 6.8.1 introduced a new convert_unsafe_embeds option to automatically convert object and embed elements respective of their type attribute. From TinyMCE 7.0.0 onwards, the convert_unsafe_embeds option is enabled by default.

Workarounds

If you are using TinyMCE 6.8.1 or higher, set convert_unsafe_embeds to true. For any earlier versions, a custom NodeFilter is recommended to remove or modify any object or embed elements. This can be added using the editor.parser.addNodeFilter and editor.serializer.addNodeFilter APIs.

Acknowledgements

Tiny Technologies would like to thank Toni Huttunen of Fraktal Oy for discovering this vulnerability.

References

Record
GHSA-5359-pvf2-pw78
CVSS 3.1
4.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N
Weakness
CWE-79
Updated
2026-11-02
OSVUBUNTU-CVE-2024-29881 4.3

TinyMCE is an open source rich text editor. A cross-site scripting (XSS) vulnerability was discovered in TinyMCE’s content loading and content inserting code. A SVG image could be loaded though an object or embed element and that image could potentially contain a XSS payload. This vulnerability is fixed in 6.8.1 and 7.0.0.

Record
UBUNTU-CVE-2024-29881
CVSS 3.1
4.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N
CVSS 3.1
6.1 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Updated
2026-11-02
OSVCLSA-2026-1775262593 No score

TuxCare security update for tinymce (1 CVE)

TuxCare rebuilt tinymce to address 1 CVE. Fixed in 6.8.6-tuxcare.1.

Record
CLSA-2026-1775262593
Updated
2026-11-02
OSVCLSA-2026-1777423184 No score

TuxCare security update for tinymce (12 CVEs)

TuxCare rebuilt tinymce to address 12 CVEs. Fixed in 4.9.11-tuxcare.1.

Record
CLSA-2026-1777423184
Updated
2026-11-02
OSVCLSA-2026-1777423186 No score

TuxCare security update for tinymce (4 CVEs)

TuxCare rebuilt tinymce to address 4 CVEs. Fixed in 5.10.9-tuxcare.1.

Record
CLSA-2026-1777423186
Updated
2026-11-02
OSVGHSA-5vm8-hhgr-jcjp No score

Cross-site scripting vulnerability in TinyMCE

Impact

A cross-site scripting (XSS) vulnerability was discovered in the URL sanitization logic of the core parser for form elements. The vulnerability allowed arbitrary JavaScript execution when inserting a specially crafted piece of content into the editor using the clipboard or APIs, and then submitting the form. However, as TinyMCE does not allow forms to be submitted while editing, the vulnerability could only be triggered when the content was previewed or rendered outside of the editor. This impacts all users who are using TinyMCE 5.7.0 or lower.

Patches

This vulnerability has been patched in TinyMCE 5.7.1 by improved URL sanitization logic.

Workarounds

To work around this vulnerability, either:

  • Upgrade to TinyMCE 5.7.1 or higher
  • Manually sanitize form URL attributes using a TinyMCE node filter.
  • Disable form elements in your content using the invalid_elements setting.

Example: Sanitizing using a node filter

editor.parser.addNodeFilter('form', 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

invalid_elements: 'form'

Acknowledgements

Tiny Technologies would like to thank Mikhail Khramenkov at Solar Security Research Team for discovering this vulnerability.

References

https://www.tiny.cloud/docs/release-notes/release-notes571/#securityfixes

For more information

If you have any questions or comments about this advisory:

Record
GHSA-5vm8-hhgr-jcjp
Weakness
CWE-79
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
tinymce/tinymce
Packagist
before 7.0.0
7.0.0
tinymce
npm
before 7.0.0
7.0.0
TinyMCE
NuGet
before 7.0.0
7.0.0
tinymce
npm
before 5.7.1
5.7.1
tinymce
TuxCare:npm
6.8.6-tuxcare.0 up to 6.8.6-tuxcare.1, plus listed versions
6.8.6
6.8.6-tuxcare.1
tinymce
TuxCare:npm
From an advisory covering 11 CVEs
4.9.11-tuxcare.0 up to 4.9.11-tuxcare.1, plus listed versions
4.9.11
4.9.11-tuxcare.1
tinymce
TuxCare:npm
From an advisory covering 4 CVEs
5.10.9-tuxcare.0 up to 5.10.9-tuxcare.1, plus listed versions
5.10.9
5.10.9-tuxcare.1
tinymce/tinymce
Packagist
before 7.0.0, plus listed versions
4.0.04.0.14.0.104.0.114.0.12
Show 45 moreShow less
4.0.134.0.144.0.154.0.164.0.174.0.184.0.194.0.24.0.204.0.214.0.224.0.234.0.244.0.254.0.264.0.274.0.284.0.34.0.44.0.54.0.64.0.74.0.84.0.94.1.04.1.14.1.104.1.24.1.34.1.44.1.54.1.64.1.74.1.84.1.94.2.04.2.14.2.24.2.34.2.44.2.54.2.64.2.74.2.84.3.0
7.0.0
TinyMCE
NuGet
before 7.0.0, plus listed versions
3.4.3.23.4.43.4.53.4.73.5.0
Show 45 moreShow less
3.5.0.13.5.13.5.1.13.5.23.5.33.5.43.5.4.13.5.53.5.63.5.73.5.84.0.04.0.14.0.104.0.114.0.134.0.144.0.154.0.164.0.174.0.184.0.194.0.24.0.204.0.214.0.224.0.234.0.244.0.254.0.264.0.274.0.284.0.44.0.54.0.64.0.84.0.94.1.04.1.14.1.104.1.24.1.34.1.44.1.54.1.6
7.0.0
tinymce
Ubuntu:16.04:LTS
All versions, plus listed versions
3.4.8+dfsg0-1
None known
tinymce
Ubuntu:18.04:LTS
All versions, plus listed versions
3.4.8+dfsg0-2
None known
tinymce
Ubuntu:20.04:LTS
All versions, plus listed versions
3.4.8+dfsg0-2
None known

History

History
RecordedChangedSources
affected, facts
aliasesEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2024-29881 is a medium vulnerability (CVSS 4.3) in Tiny Tinymce, published May 28, 2021. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.71%, the 53rd percentile. Fixed in tinymce/tinymce 7.0.0.

References

Show 6 moreShow less
This page doesn't list everything

Left out here: 313 versions. The JSON record has them.

MoveEnter Open