CVE-2026-47760: 
JavaScript vulnerability analysis and mitigation

Overview

CVE-2026-47760 is a Cross-Site Scripting (XSS) vulnerability in TinyMCE, an open-source rich text editor, caused by improper SVG namespace scope handling in its sanitizer. Affected versions span from 6.8.0 up to (but not including) 7.1.0, covering packages distributed via npm, NuGet, and Composer. The vulnerability was first published on May 20, 2026, by researcher maple3142 of DEVCORE, with NVD publication on May 28, 2026. The GitHub Advisory (GHSA-mh5m-5hw4-5c69) assigns a CVSS v3.1 score of 8.7 (High), while the NVD entry records a score of 5.4 (Medium) (GitHub Advisory, TinyMCE Advisory).

Technical details

The root cause is classified as CWE-79 (Improper Neutralization of Input During Web Page Generation — Cross-Site Scripting), specifically arising from incorrect SVG namespace scope handling within TinyMCE's HTML sanitizer. When processing nested SVG elements, the sanitizer fails to correctly track namespace context, allowing a crafted payload to smuggle malicious attributes past the sanitization layer and execute arbitrary JavaScript. Exploitation requires the attacker to have low-level authenticated access to submit content through the TinyMCE editor, and a victim user must interact with (view) the maliciously crafted content. The fix was introduced in TinyMCE 7.1.0 through a rewrite of the vulnerable sanitization code (TinyMCE Advisory, GitHub Advisory).

Impact

Successful exploitation allows an authenticated attacker with low privileges to inject and execute arbitrary JavaScript in the browsers of other users who view the malicious content. The scope change (S:C in CVSS) indicates the impact extends beyond the TinyMCE component itself to the broader browser context, enabling session hijacking, credential theft, or unauthorized actions on behalf of victims. Confidentiality and integrity are both rated High in the GitHub advisory's scoring, reflecting the potential for significant data exposure and content manipulation, while availability is not directly impacted (GitHub Advisory, TinyMCE Advisory).

Exploitability

As of the time of reporting, there is no public proof-of-concept exploit and no evidence of active in-the-wild exploitation (Feedly). The EPSS score is approximately 0.033% (10th percentile), indicating a low near-term probability of exploitation. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. No threat actor attribution has been reported.

Exploitation steps

  1. Identify a target: Locate a web application using TinyMCE versions 6.8.0–7.0.x (npm, NuGet, or Composer packages) where authenticated users can submit rich text content.
  2. Authenticate: Obtain low-privilege credentials to access the TinyMCE editor interface on the target application.
  3. Craft a malicious payload: Construct an HTML payload leveraging nested SVG elements that exploit the namespace scope mishandling in TinyMCE's sanitizer. The nesting causes the sanitizer to incorrectly evaluate attribute context, allowing event handler attributes (e.g., onload, onerror) to survive sanitization.
  4. Submit the payload: Insert the crafted SVG payload into a TinyMCE-powered content field (e.g., a blog post, comment, or profile field) and save or publish it.
  5. Trigger execution: When another user (e.g., an administrator or another authenticated user) views the page containing the malicious content, the injected JavaScript executes in their browser context, enabling session token theft, phishing redirects, or further exploitation (TinyMCE Advisory, GitHub Advisory).

Indicators of compromise

  • Network: Unusual outbound requests from victim browsers to attacker-controlled domains following interaction with TinyMCE-rendered content; unexpected POST requests exfiltrating session cookies or tokens.
  • Logs: Web server or application logs showing submission of content containing nested <svg> elements with suspicious attribute patterns (e.g., onload, onerror, javascript: URIs) to TinyMCE-backed endpoints.
  • File System / Database: Stored content in the application database containing obfuscated or encoded nested SVG payloads with event handler attributes that should have been stripped by the sanitizer.
  • Browser / Client-Side: Unexpected JavaScript execution errors or network requests originating from pages rendering TinyMCE content; browser developer tools showing script execution from inline SVG elements.

Mitigation and workarounds

The vulnerability is fixed in TinyMCE 7.1.0, which rewrites the vulnerable sanitization code; all users of versions 6.8.0 through 7.0.x should upgrade immediately across all package managers (npm, NuGet, Composer) (TinyMCE Advisory). No official workaround is provided by the vendor. As a compensating control where immediate patching is not feasible, deploying strict Content Security Policy (CSP) headers — restricting inline script execution and limiting script sources to trusted domains — can reduce the risk of successful JavaScript execution (Feedly).

Community reactions

The vulnerability was discovered and responsibly disclosed by maple3142 of DEVCORE, a well-regarded security research firm, and Tiny (the TinyMCE maintainer) acknowledged their contribution in the advisory (TinyMCE Advisory). Coverage has appeared on security aggregation sites including SecurityOnline.info and CVEReports.com, and the vulnerability was noted on social media platforms such as Bluesky. Overall community reaction has been measured, consistent with the absence of active exploitation and the availability of a straightforward patch.

Additional resources

Linux Distribution fix status

Fix availability across major Linux distributions and their releases.

Ubuntu

Unknown

bionic (esm-apps)

tinymce

Unknown

focal (esm-apps)

tinymce

Unknown

xenial (esm-apps-legacy)

tinymce

Unknown

Source: This report was generated using AI

Related JavaScript vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-104150HIGH8.7
  • JavaScript logoJavaScript
  • @adonisjs/http-server
NoYesOct 15, 2026
CVE-2026-100409HIGH7.5
  • JavaScript logoJavaScript
  • @opennextjs/cloudflare
NoYesOct 15, 2026
CVE-2026-102527MEDIUM6.9
  • JavaScript logoJavaScript
  • nuxt-og-image
NoYesOct 15, 2026
CVE-2026-103975MEDIUM6.5
  • JavaScript logoJavaScript
  • @appium/support
NoYesOct 14, 2026
CVE-2026-76894LOW3.1
  • JavaScript logoJavaScript
  • @aborruso/ckan-mcp-server
NoYesOct 16, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management