CVE-2026-59167: SunEditor: Critical XSS vulnerability - sanitizer bypass

Published Sep 23, 2026
·
Updated

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.

---

Other sources

SunEditor is a lightweight and powerful WYSIWYG editor in vanilla JavaScript with no dependencies. Prior to 2.47.11, the sanitizer in src/lib/core.js does not consistently reject namespaced or custom HTML elements, allowing event-handler attributes to remain on crafted elements. When an application renders attacker-controlled editor content and a user interacts with the element, the retained handler can execute script in the application's browser origin, enabling stored cross-site scripting, data exposure, or unauthorized browser-context actions. This issue is fixed in version 2.47.11.

— MITRE

Affected Software

2 affected componentsFixes available
SunEditor SunEditor<2.47.11
npm/suneditor<=2.47.10
2.47.11

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade npm/suneditor to a version that resolves this vulnerability.

    Fixed in 2.47.11
  2. Upgrade

    Upgrade SunEditor to a version that resolves this vulnerability.

    Fixed in 2.47.11
  3. Compensating control

    Update the sanitizer to explicitly reject or unwrap unknown, custom, and namespaced HTML elements; normalize DOM elements before sanitization; re-validate sanitized output after browser DOM parsing; and strip all event-handler attributes, including from unknown or custom elements.

  4. Compensating control

    Add regression tests covering namespaced and custom-tag payloads.

Event History

Sep 23, 2026
CVE Published
via MITRE·01:52 PM
Data Sourced
via MITRE·01:52 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·02:17 PM
DescriptionSeverityWeakness
Sep 24, 2026
Advisory Published
via GitHub·02:57 PM
Data Sourced
via GitHub·02:57 PM
DescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

Which deployments are exposed to this issue?

Applications using SunEditor versions before 2.47.11 are exposed if they render attacker-controlled editor content. The impact occurs in the browser origin of the application rendering that content.

2

What must an attacker do to exploit the vulnerability?

An attacker must cause crafted content containing namespaced or custom HTML elements with retained event-handler attributes to be stored or otherwise rendered by the application. A user must then interact with the crafted element for the handler to execute.

3

Are users affected merely by viewing malicious editor content?

The available information specifies that script execution occurs when a user interacts with the crafted element. It does not state that passive viewing alone triggers execution.

4

What version resolves the issue?

Upgrade SunEditor to version 2.47.11, which fixes the inconsistent sanitizer handling of namespaced and custom HTML elements.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203