CVE-2026-58263: Jodit Editor HTML Sanitization Bypass and Mutation XSS
Jodit Editor versions before 4.12.28 contain a sanitization bypass vulnerability in its HTML cleaning feature. An attacker can craft malicious HTML using MathML and style tags to hide dangerous content from the sanitizer, allowing event handlers like onload to survive in the editor's output. When this compromised output is rendered by consuming applications, the event handlers execute automatically without any user interaction, enabling unauthorized script execution (Mutation XSS).
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 7.2 HIGH · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
- Weaknesses (CWE)
- CWE-79, CWE-83
- Affected products
- 0 configuration(s)
- Published / Modified
- 2026-07-01 / 2026-07-31
NVD description (verbatim)
Jodit Editor is a WYSIWYG editor with a built-in file browser & image editor. In versions prior to 4.12.28, the built-in clean-html sanitizer can be bypassed by a MathML/<style> carrier that hides a dangerous element from the sanitizer's element walk, so a no-interaction event handler survives into the editor value, potentially causing Mutation XSS. When an application supplies attacker-influenced HTML to the editor's value-set or insertion paths, the sanitized output still contains a live <img ... onload=...> (or another non-onerror handler such as onfocus). A consumer that renders that output (element.innerHTML = editor.value) executes the handler with no user interaction. This issue has been fixed in version 4.12.28.
2 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
CVE-2026-58263 is a Mutation XSS vulnerability in Jodit Editor's built-in HTML sanitizer. The vulnerability exploits the sanitizer's element-walking mechanism by using MathML and <style> elements as carriers to obscure dangerous elements during the sanitization process. This allows non-interaction event handlers (such as onload, onfocus, or onerror on img elements) to persist in the sanitized output. When downstream applications assign this output directly to the DOM via innerHTML or similar methods, the event handlers execute in the security context of the application, bypassing intended XSS protections. The attack requires no user interaction post-rendering.
Business impact
Organizations using Jodit Editor to accept and process user-supplied HTML face a significant XSS risk. If the editor's output is rendered in web applications without additional sanitization, attackers can execute arbitrary JavaScript in end-user browsers, potentially stealing session tokens, credentials, or sensitive data. The network-based attack vector with no authentication or interaction requirements means any internet-exposed Jodit instance accepting untrusted input is at risk. Content management systems, collaboration platforms, and form-based applications relying on Jodit are particularly exposed.
Affected systems
Jodit Editor versions prior to 4.12.28 are affected. The vendor has not disclosed a comprehensive list of dependent products. Organizations should audit their use of Jodit Editor in their own applications and any third-party software that bundles it. The vulnerability is present whenever Jodit is used to sanitize and then render untrusted HTML content.
Exploitability
Exploitation requires minimal complexity. An attacker simply crafts HTML with MathML/<style> carriers hiding dangerous event handlers, then delivers it via any input path the editor processes (value-set, insertion, paste, etc.). The attack surface is broad: any interface accepting user-supplied HTML that flows through Jodit's sanitizer and is subsequently rendered poses a risk. No user interaction is needed beyond the normal act of viewing or rendering the compromised content. The CVSS score of 7.2 (HIGH) reflects the network vector, low complexity, and scope change; impact is confidentiality and integrity loss.
Remediation
Upgrade Jodit Editor to version 4.12.28 or later. Organizations should prioritize this patch for production systems, especially those handling user-generated content or multi-tenant environments. In addition to patching, consider implementing secondary sanitization or Content Security Policy (CSP) restrictions to limit the impact of any future sanitizer bypasses. Review any stored content that may have been processed by vulnerable versions.
Patch guidance
Apply Jodit Editor version 4.12.28 or newer to all affected instances. Verify compatibility with your specific application integration before deploying; consult the Jodit project's release notes and migration guide. If you maintain a fork or custom build of Jodit, review the upstream fix in the 4.12.28 release to understand the sanitizer changes and apply equivalent logic. Test thoroughly in a staging environment to confirm both the patch's effectiveness and that your application's intended functionality is preserved.
Detection guidance
Monitor for Jodit Editor version usage in your application inventory. Scan dependencies via package managers (npm, yarn, etc.) to identify installed versions. For deployed applications, inspect HTML output generated by Jodit to detect anomalous MathML structures or hidden style tags that may indicate exploit attempts. Implement CSP headers to block inline script execution and restrict script sources, mitigating the impact of successful XSS. Server-side event logging and client-side XSS detection libraries can also help identify post-exploitation activity.
Why prioritize this
This vulnerability combines a high CVSS score (7.2) with broad attack surface and minimal complexity. The Mutation XSS pattern is particularly dangerous because it defeats developer expectations that sanitized HTML is safe to render. Network accessibility, lack of authentication requirements, and the ability to impact multiple users via stored XSS make this a priority patch, especially for content management and multi-user platforms.
Risk score, explained
The CVSS 3.1 score of 7.2 reflects: (1) Network-based attack vector (remote exploitation), (2) Low attack complexity (straightforward payload crafting), (3) No privilege or authentication required, (4) Changed scope (the vulnerability can affect resources beyond the vulnerable component), and (5) Low impact on both confidentiality and integrity (XSS enables data exfiltration and page manipulation). The absence of availability impact prevents a CRITICAL rating, but the cross-scope and web-based nature elevate it to HIGH.
Frequently asked questions
What is Mutation XSS and why is it dangerous?
Mutation XSS occurs when an attacker bypasses a sanitizer by crafting HTML that the sanitizer modifies during processing in a way that introduces dangerous code. In this case, the sanitizer removes harmful elements but the MathML/<style> carriers obscure the dangerous elements during the walk, so they survive. The result is sanitized HTML that looks clean but contains live event handlers. It's particularly dangerous because developers trust sanitized output and render it without additional checks.
Do I need Jodit Editor for my application to be at risk?
You are directly at risk if your application uses Jodit Editor to process user-supplied HTML and renders that output in the browser. Indirect risk exists if you use a framework, CMS, or third-party library that bundles Jodit. Review your application's dependencies and vendor documentation to determine exposure.
What can an attacker do with this XSS?
A successful exploit allows an attacker to execute arbitrary JavaScript in the victim's browser within the context of your application. This enables session hijacking, credential theft, malware injection, defacement, and exfiltration of sensitive data. The severity depends on the application's privileges and the data it handles.
Is there a workaround if I cannot patch immediately?
Implement a Content Security Policy (CSP) that blocks inline scripts and restricts script sources. Apply a secondary HTML sanitizer (such as DOMPurify) to Jodit's output before rendering. Monitor for suspicious content and disable user-supplied HTML input if possible. However, these are temporary mitigations; patching is the definitive fix.
This analysis is based on the published CVE details and vendor advisory. SEC.co makes no warranty regarding the accuracy of third-party vendor information or patch effectiveness. Organizations should conduct their own testing and validation of patches in staging environments before production deployment. No exploit code or weaponized proof-of-concept is provided in this analysis. For the most current information, consult the official Jodit Editor project repository and security advisories. Source: NVD (public-domain), retrieved 2026-08-10. Analysis generated by SEC.co (claude-haiku-4-5).
Related vulnerabilities
- CVE-2026-53722MEDIUMNuxt <NuxtLink> XSS Vulnerability – Versions 3.21.7 & 4.4.7 Required
- CVE-2016-20066HIGHWordPress CP Polls 1.0.8 Persistent XSS Vulnerability
- CVE-2016-20084HIGHWordPress Appointment-Booking-Calendar Unauthenticated XSS and Privilege Escalation
- CVE-2023-33999HIGHDOM-Based XSS in WP Mail Log Plugin – Analysis & Remediation
- CVE-2023-45795HIGHXSS in Pilz PASvisu Builder Component – Patch Guidance
- CVE-2023-45796HIGHStored XSS in Pilz PASvisu & PMI Industrial Software – Remediation Guide
- CVE-2023-54351HIGHStored XSS in WordPress Sonaar Music Plugin 4.7 – Patch & Detection Guide
- CVE-2025-11262HIGHLink Whisper Free Stored XSS Vulnerability – Analysis & Patch Guidance