Critical

SunEditor: Critical XSS vulnerability - sanitizer bypass

  • Disclosed: 24.09.2026
  • Updated: 11.10.2026 10:22

Summary

SUNEDITOR v2.47.10 appears to allow JavaScript execution through crafted namespaced HTML elements.

The sanitization logic does not fully remove executable event-handler attributes from certain custom/namespaced tags. As a result, an attacker may be able to inject HTML content that executes JavaScript when the rendered element is interacted with.

This behavior was observed after the changes introduced in this commit:

https://github.com/JiHong88/suneditor/commit/9ed405fb0de676e56cd0e6a13c19c103ad5948d3


Affected Version

Confirmed vulnerable:

  • SUNEDITOR =< 2.47.10

Potentially affected:

  • Previous versions, if the same sanitization logic is still present

Proof of Concept

The following payload preserves an executable event handler:

html
<a:b src="/x"><iframe src=javascript:alert(1)></iframe></a:b>

<p><a:b src="/x" onclick="document.body.style.background='red'">click</a:b></p>

Simplified PoC:

html
<a:b src="/x" onclick="console.log('XSS:',document.domain,document.cookie)">click</a:b>
html
<p><a:b src="/x" onmouseover="alert('XSS — '+document.domain)">📎 Click here for solutions</a:b></p>

Steps to Reproduce

  1. Open SUNEDITOR using version 2.47.10.
  2. Insert the payload above into the editor.
  3. Save or render the generated content.
  4. Click the generated element.
  5. Observe that JavaScript is executed.

Impact

This may allow an attacker to inject arbitrary JavaScript into rendered editor content.

Depending on how SUNEDITOR is integrated into an application, this could lead to:

  • Stored XSS
  • DOM manipulation
  • Session theft
  • Credential theft
  • Account takeover actions performed in the victim’s browser context

Technical Details

The issue appears to be related to incomplete handling of namespaced/custom HTML elements such as:

html
<a:b>

Event-handler attributes such as onclick can remain attached to these crafted elements and execute when interacted with.

This suggests that the sanitization process may not consistently normalize and validate custom or namespaced elements before applying attribute filtering.


Suggested Remediation

Possible mitigations include:

  • Normalize DOM elements before sanitization.
  • Explicitly reject or unwrap unknown/custom/namespaced tags.
  • Strip all event-handler attributes from all elements, including unknown/custom elements.
  • Re-validate sanitized output after browser DOM parsing.
  • Add regression tests for namespaced/custom tag payloads.

Affected software

Click a technology to see all vulnerabilities affecting it.

PlatformPackageVulnerable versionsFixed in
npm package suneditor < 2.47.11 2.47.11

References

CVSS score 10/10
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
Weakness (CWE)
CWE-79
Platform
npm
Package
suneditor
Disclosed
24.09.2026
Updated
11.10.2026 10:22

Sources and licenses

OSV / GitHub Advisory Database - GHSA-6rf4-v2fh-m6p4 - CC BY 4.0

Vulnerability history: suneditor

All published vulnerabilities of this package (npm package), newest first. Shows whether this is a one-off slip or a package that needs watching.

Total entries
2
First → latest
08.2026 09.2026
Without a fix
0
Exploited in attacks
0

Severity breakdown

  • Critical 1
  • High 1

Disclosures per year

  1. 2026: 2
  1. SunEditor: Critical XSS vulnerability - sanitizer bypass this entry
    Critical · 10.0 CVE-2026-59167 < 2.47.11 2.47.11

Know which vulnerabilities affect your application

With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.

Connect your application
DockRay newsletter

Application security in your inbox

Important vulnerabilities, actionable guidance and practical advice for your applications. Choose your technologies and follow what matters to your project.

  • A daily digest of new vulnerabilities, critical ones included.
  • Notifications about important updates.
  • Practical advice on application security and monitoring.

Leave empty to receive updates for every technology.

Free to subscribe. Unsubscribe with one click in any email.