Every CVE Search/ Get API key

CVE-2023-45818

Cross-site Scripting vulnerability in TinyMCE undo/redo, getContent API, resetContent API, and Autosave plugin

6.1 MediumFix available

TinyMCE is an open source rich text editor. A mutation cross-site scripting (mXSS) vulnerability was discovered in TinyMCE’s core undo and redo functionality. When a carefully-crafted HTML snippet passes the XSS sanitisation layer, it is manipulated as a string by internal trimming functions before being stored in the undo stack. If the HTML snippet is restored from the undo stack, the combination of the string manipulation and reparative parsing by either the browser's native DOMParser API (TinyMCE 6) or the SaxParser API (TinyMCE 5) mutates the HTML maliciously, allowing an XSS payload to be executed. This vulnerability has been patched in TinyMCE 5.10.8 and TinyMCE 6.7.1 by ensuring HTML is trimmed using node-level manipulation instead of string manipulation. Users are advised to upgrade. There are no known workarounds for this vulnerability.

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
Low
Availability
None

Exploit likelihood

0.76%Up 0.7 points since Oct 20, 2023
90%50%10%1%

What each source reports

CVE List Score used 6.1

Cross-site Scripting vulnerability in TinyMCE undo/redo, getContent API, resetContent API, and Autosave plugin

TinyMCE is an open source rich text editor. A mutation cross-site scripting (mXSS) vulnerability was discovered in TinyMCE’s core undo and redo functionality. When a carefully-crafted HTML snippet passes the XSS sanitisation layer, it is manipulated as a string by internal trimming functions before being stored in the undo stack. If the HTML snippet is restored from the undo stack, the combination of the string manipulation and reparative parsing by either the browser's native DOMParser API (TinyMCE 6) or the SaxParser API (TinyMCE 5) mutates the HTML maliciously, allowing an XSS payload to be executed. This vulnerability has been patched in TinyMCE 5.10.8 and TinyMCE 6.7.1 by ensuring HTML is trimmed using node-level manipulation instead of string manipulation. Users are advised to upgrade. There are no known workarounds for this vulnerability.

Record
CVE-2023-45818
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
EUVDEUVD-2023-2813 6.1

TinyMCE is an open source rich text editor. A mutation cross-site scripting (mXSS) vulnerability was discovered in TinyMCE’s core undo and redo functionality. When a carefully-crafted HTML snippet passes the XSS sanitisation layer, it is manipulated as a string by internal trimming functions before being stored in the undo stack. If the HTML snippet is restored from the undo stack, the combination of the string manipulation and reparative parsing by either the browser's native DOMParser API (TinyMCE 6) or the SaxParser API (TinyMCE 5) mutates the HTML maliciously, allowing an XSS payload to be executed. This vulnerability has been patched in TinyMCE 5.10.8 and TinyMCE 6.7.1 by ensuring HTML is trimmed using node-level manipulation instead of string manipulation. Users are advised to upgrade. There are no known workarounds for this vulnerability.

Record
EUVD-2023-2813
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-03
GitHub AdvisoriesGHSA-v65r-p3vv-jjfv 6.1

TinyMCE mXSS vulnerability in undo/redo, getContent API, resetContent API, and Autosave plugin

Impact

A mutation cross-site scripting (mXSS) vulnerability was discovered in TinyMCE’s core undo and redo functionality. When a carefully-crafted HTML snippet passes the XSS sanitisation layer, it is manipulated as a string by internal trimming functions before being stored in the undo stack. If the HTML snippet is restored from the undo stack, the combination of the string manipulation and reparative parsing by either the browser's native DOMParser API (TinyMCE 6) or the SaxParser API (TinyMCE 5) mutates the HTML maliciously, allowing an XSS payload to be executed. ​This vulnerability also impacts these related TinyMCE APIs and plugins:​

Patches

This vulnerability has been patched in TinyMCE 5.10.8 and TinyMCE 6.7.1 by ensuring HTML is trimmed using node-level manipulation instead of string manipulation.

Fix

To avoid this vulnerability:

  • Upgrade to TinyMCE 5.10.8 or higher for TinyMCE 5.x.
  • Upgrade to TinyMCE 6.7.1 or higher for TinyMCE 6.x.

Acknowledgements

Tiny Technologies would like to thank Masato Kinugawa of Cure53 for discovering this vulnerability.

References

For more information

If you have any questions or comments about this advisory:

Record
GHSA-v65r-p3vv-jjfv
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
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 6.1

TinyMCE is an open source rich text editor. A mutation cross-site scripting (mXSS) vulnerability was discovered in TinyMCE’s core undo and redo functionality. When a carefully-crafted HTML snippet passes the XSS sanitisation layer, it is manipulated as a string by internal trimming functions before being stored in the undo stack. If the HTML snippet is restored from the undo stack, the combination of the string manipulation and reparative parsing by either the browser's native DOMParser API (TinyMCE 6) or the SaxParser API (TinyMCE 5) mutates the HTML maliciously, allowing an XSS payload to be executed. This vulnerability has been patched in TinyMCE 5.10.8 and TinyMCE 6.7.1 by ensuring HTML is trimmed using node-level manipulation instead of string manipulation. Users are advised to upgrade. There are no known workarounds for this vulnerability.

Record
CVE-2023-45818
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 6.1

Cross-site Scripting vulnerability in TinyMCE undo/redo, getContent API, resetContent API, and Autosave plugin

TinyMCE is an open source rich text editor. A mutation cross-site scripting (mXSS) vulnerability was discovered in TinyMCE’s core undo and redo functionality. When a carefully-crafted HTML snippet passes the XSS sanitisation layer, it is manipulated as a string by internal trimming functions before being stored in the undo stack. If the HTML snippet is restored from the undo stack, the combination of the string manipulation and reparative parsing by either the browser's native DOMParser API (TinyMCE 6) or the SaxParser API (TinyMCE 5) mutates the HTML maliciously, allowing an XSS payload to be executed. This vulnerability has been patched in TinyMCE 5.10.8 and TinyMCE 6.7.1 by ensuring HTML is trimmed using node-level manipulation instead of string manipulation. Users are advised to upgrade. There are no known workarounds for this vulnerability.

Record
CVE-2023-45818
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
Show 4 moreShow less
OSVGHSA-v65r-p3vv-jjfv 6.1

TinyMCE mXSS vulnerability in undo/redo, getContent API, resetContent API, and Autosave plugin

Impact

A mutation cross-site scripting (mXSS) vulnerability was discovered in TinyMCE’s core undo and redo functionality. When a carefully-crafted HTML snippet passes the XSS sanitisation layer, it is manipulated as a string by internal trimming functions before being stored in the undo stack. If the HTML snippet is restored from the undo stack, the combination of the string manipulation and reparative parsing by either the browser's native DOMParser API (TinyMCE 6) or the SaxParser API (TinyMCE 5) mutates the HTML maliciously, allowing an XSS payload to be executed. ​This vulnerability also impacts these related TinyMCE APIs and plugins:​

Patches

This vulnerability has been patched in TinyMCE 5.10.8 and TinyMCE 6.7.1 by ensuring HTML is trimmed using node-level manipulation instead of string manipulation.

Fix

To avoid this vulnerability:

  • Upgrade to TinyMCE 5.10.8 or higher for TinyMCE 5.x.
  • Upgrade to TinyMCE 6.7.1 or higher for TinyMCE 6.x.

Acknowledgements

Tiny Technologies would like to thank Masato Kinugawa of Cure53 for discovering this vulnerability.

References

For more information

If you have any questions or comments about this advisory:

Record
GHSA-v65r-p3vv-jjfv
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
OSVUBUNTU-CVE-2023-45818 6.1

TinyMCE is an open source rich text editor. A mutation cross-site scripting (mXSS) vulnerability was discovered in TinyMCE’s core undo and redo functionality. When a carefully-crafted HTML snippet passes the XSS sanitisation layer, it is manipulated as a string by internal trimming functions before being stored in the undo stack. If the HTML snippet is restored from the undo stack, the combination of the string manipulation and reparative parsing by either the browser's native DOMParser API (TinyMCE 6) or the SaxParser API (TinyMCE 5) mutates the HTML maliciously, allowing an XSS payload to be executed. This vulnerability has been patched in TinyMCE 5.10.8 and TinyMCE 6.7.1 by ensuring HTML is trimmed using node-level manipulation instead of string manipulation. Users are advised to upgrade. There are no known workarounds for this vulnerability.

Record
UBUNTU-CVE-2023-45818
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-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
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
npm
before 5.7.1
5.7.1
tinymce
npm
6.0.0 up to 6.7.1
6.7.1
TinyMCE
NuGet
6.0.0 up to 6.7.1
6.7.1
tinymce/tinymce
Packagist
6.0.0 up to 6.7.1
6.7.1
tinymce
npm
before 5.10.8
5.10.8
TinyMCE
NuGet
before 5.10.8
5.10.8
tinymce/tinymce
Packagist
before 5.10.8
5.10.8
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
NuGet
6.0.0 up to 6.7.1, plus listed versions
6.0.16.0.26.0.36.1.06.1.1
Show 12 moreShow less
6.1.26.2.06.3.06.3.16.3.26.4.06.4.16.4.26.5.06.5.16.6.26.7.0
6.7.1
tinymce/tinymce
Packagist
6.0.0 up to 6.7.1, plus listed versions
6.0.16.0.26.0.36.1.06.1.1
Show 14 moreShow less
6.1.26.2.06.3.06.3.16.3.26.4.06.4.16.4.26.5.06.5.16.6.06.6.16.6.26.7.0
6.7.1
Show 5 moreShow less
Affected packages
PackageAffectedFixed
TinyMCE
NuGet
before 5.10.8, 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
5.10.8
tinymce/tinymce
Packagist
before 5.10.8, 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
5.10.8
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-2023-45818 is a medium vulnerability (CVSS 6.1) 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.76%, the 55th percentile. Fixed in tinymce 5.7.1.

References

Show 7 moreShow less
This page doesn't list everything

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

MoveEnter Open