CVE-2023-45818 json
Cross-site Scripting vulnerability in TinyMCE undo/redo, getContent API, resetContent API, and Autosave plugin
published 2023-10-19 3 y ago modified 2026-09-10 1 mo ago also GHSA-v65r-p3vv-jjfv , EUVD-2023-2813
- cvss
- 6.1
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.8%
- EPSS 0.8% chance of exploitation in 30 days, percentile 55%
- public exploits
- 0
- none known
Summary
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](https://developer.mozilla.org/en-US/docs/Web/API/DOMParser) (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.
Patch / fix
- npm tinymce 5.10.8, 6.7.1
- nuget TinyMCE 5.10.8, 6.7.1
- packagist tinymce/tinymce 5.10.8, 6.7.1
- tiny tinymce 5.10.8, 6.7.1
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 2 y ago
Exploit prediction
0.76% chance of exploitation in the next 30 days, higher than 55% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 6.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N |
| NVD | 3.1 | 6.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N |
| GitHub | 3.1 | 6.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | tinymce | >=6.0.0, <6.7.1 <5.10.8 |
6.7.1 5.10.8 |
| nuget | TinyMCE | >=6.0.0, <6.7.1 <5.10.8 |
6.7.1 5.10.8 |
| packagist | tinymce/tinymce | >=6.0.0, <6.7.1 <5.10.8 |
6.7.1 5.10.8 |
Affected products
- tinymce tinymce
Classification
- Weakness
-
- CWE-79 Improper Neutralization of Input During Web Page Generation
References
-
github.com
/tinymce/tinymce/security/advisories/GHSA-v65r-p3vv-jjfv
web, vendor-advisory
-
researchgate.net
/publication/266654651_mXSS_attacks_Attacking_well-secured_web-applications_by_using_innerHTML_mutations
web, third-party-advisory
-
tiny.cloud
/docs/release-notes/release-notes5108/#securityfixes
web, release-notes
-
tiny.cloud
/docs/tinymce/6/6.7.1-release-notes/#security-fixes
web, release-notes
-
tiny.cloud
/docs/api/tinymce.html/tinymce.html.saxparser/
product
-
nvd.nist.gov
/vuln/detail/CVE-2023-45818
advisory
-
github.com
/tinymce/tinymce
package
-
tiny.cloud
/docs/api/tinymce.html/tinymce.html.saxparser
web
Sources
- CVE List CVE-2023-45818
- GitHub Advisory GHSA-v65r-p3vv-jjfv
- NVD CVE-2023-45818
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.