GitHub Advisoryadvisory · npm

GHSA-6rf4-v2fh-m6p4 SunEditor: Critical XSS vulnerability - sanitizer bypass

CRITICAL Published 2026-09-24 Modified 2026-09-24 Official page ↗
Aliases
CVE-2026-59167
Ecosystem
npm
Packages
suneditor
Severity
Critical
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
Weaknesses
CWE-79
Reviewed
2026-09-24

Affected packages

• npm suneditor: < 2.47.11 → fixed in 2.47.11

Description

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 = click ``` Simplified PoC: ```html click ``` ```html 📎 Click here for solutions ``` --- 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 ``` 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. ---

Related

Alias · CVE (1)

  • CVE-2026-59167 SunEditor is a lightweight and powerful WYSIWYG editor in vanilla JavaScript with no dependencies. vulnerability

Weakness · CWE (1)

  • CWE-79 Improper Neutralization of Input During Web Page Generation weakness

References