# CVE-2026-124494: SunEditor stored XSS via HTML entity sanitizer bypass

Source: https://junglewise.ai/threats/cve-2026-124494-suneditor-before-3-4-0-contains-a-stored-cross-site-scripting  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-11-08. Updated: 2026-11-08  
License: CC BY 4.0 with a link back

CVE-2026-124494 · Severity: info · Published 2026-11-08

SunEditor is a JavaScript rich-text editor library used in web applications to let users create and edit formatted content. The library's HTML sanitizer fails to decode named HTML entities like &colon; when checking if URLs are safe, allowing attackers to inject obfuscated JavaScript URLs (e.g., javascript&colon;alert(1)) that bypass the security check. When other users view stored content and click the injected link, arbitrary JavaScript executes in their browser, enabling account takeover, session theft, or credential harvesting.

Technologies: [JiHong88 SunEditor](https://junglewise.ai/threats/technologies/jihong88-suneditor). Vendors: [JiHong88](https://junglewise.ai/threats/vendors/jihong88).

## Quick answers

**Is CVE-2026-124494 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-124494 being exploited in the wild.

**How severe is CVE-2026-124494?** Informational severity, published 8 November 2026.

**Which products and versions are affected?** JiHong88 SunEditor before 3.4.0.

**Is there a fix for CVE-2026-124494?** Yes: fixed in 3.4.0. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-124494 attacked?** It is attacked over the network.

**Am I affected by CVE-2026-124494?** Check whether you run JiHong88 SunEditor at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- Fixed in 3.4.0

## Technical details

The _normalizeURL() function in html.js incorrectly replaces HTML named entities with empty strings instead of their corresponding characters, while correctly handling numeric entities. An attacker can inject href="javascript&colon;alert(...)" which normalizes to "javascriptalert(...)" (no colon), passing the _isSafeURL() check that looks for the colon character. However, the browser's HTML parser correctly decodes &colon; to : when rendering, resulting in javascript:alert(...) executing in the victim's browser. This is a stored XSS vulnerability affecting the default configuration with strictMode enabled.

## Affected products

- JiHong88 SunEditor before 3.4.0

## Timeline

- 2026-10-23: disclosed: GitHub Security Advisory GHSA-v4jx-8pj6-w4w8 published
- 2026-11-08: advisory: NVD CVE-2026-124494 published

## References

- [https://github.com/JiHong88/suneditor/security/advisories/GHSA-v4jx-8pj6-w4w8](https://github.com/JiHong88/suneditor/security/advisories/GHSA-v4jx-8pj6-w4w8)
- [https://www.vulncheck.com/advisories/suneditor-before-3.4.0-stored-xss-via-colon-entity-sanitizer-bypass](https://www.vulncheck.com/advisories/suneditor-before-3.4.0-stored-xss-via-colon-entity-sanitizer-bypass)

## Related threats

- [SunEditor stored cross-site scripting in DocumentType header rendering](https://junglewise.ai/threats/cve-2026-124493-suneditor-before-3-4-0-contains-a-stored-cross-site-scripting)
- [SunEditor stored XSS in link modal bookmark list](https://junglewise.ai/threats/cve-2026-124492-suneditor-before-3-4-0-contains-a-stored-cross-site-scripting)
- [SunEditor stored cross-site scripting in FileUpload plugin](https://junglewise.ai/threats/cve-2026-124491-suneditor-before-3-4-0-contains-a-stored-cross-site-scripting)
- [SunEditor stored cross-site scripting in html.clean iframe rebuild](https://junglewise.ai/threats/cve-2026-124422-suneditor-from-3-0-0-before-3-4-0-contains-a-stored-cross-site)
