Skip to main content

Jodit Editor CVE-2026-58263

| EUVDEUVD-2026-41140 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-07-01 GitHub_M GHSA-rxcw-mc6f-6hr3
7.2
CVSS 3.1 · Vendor: GitHub_M
Share

Severity by source

Vendor (GitHub_M) PRIMARY
7.2 HIGH
AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
vuln.today AI
7.2 HIGH

Attacker-supplied HTML reaches the editor remotely with no auth and the auto-firing handler needs no interaction (AV:N/AC:L/PR:N/UI:N); injected script crosses into the app DOM (S:C) with limited C/I and no availability impact.

3.1 AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
None

Lifecycle Timeline

2
Patch available
Jul 01, 2026 - 22:02 EUVD
Analysis Generated
Jul 01, 2026 - 21:32 vuln.today

DescriptionCVE.org

Jodit Editor is a WYSIWYG editor with written in pure TypeScript file and image editing capabilities. 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.

AnalysisAI

Mutation XSS in Jodit Editor (xdan/jodit) before 4.12.28 lets attacker-influenced HTML slip a live, no-interaction event handler past the built-in clean-html sanitizer. A MathML/<style> carrier hides a dangerous element from the sanitizer's element walk, so the sanitized editor value still contains a working handler such as <img onload=...> or onfocus; any consumer that renders editor.value via innerHTML executes attacker JavaScript without user interaction. No public exploit identified at time of analysis, and the flaw is fixed in 4.12.28.

Technical ContextAI

Jodit is an open-source WYSIWYG rich-text editor written in pure TypeScript (CPE cpe:2.3:a:xdan:jodit) that ships its own clean-html sanitizer to strip dangerous markup before content is stored or re-rendered. The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation) in a specific, subtle form: sanitizer bypass via HTML parsing/mutation differentials. MathML and <style> elements are parsed by the browser differently from how Jodit's sanitizer performs its element walk, so a dangerous node can be 'carried' inside these contexts, escape enumeration, and then be re-materialized by the browser's own DOM normalization (mutation) when the value is later assigned to element.innerHTML. Because the surviving vectors rely on non-onerror handlers like onload and onfocus that fire automatically, exploitation needs no victim click.

RemediationAI

Vendor-released patch: upgrade Jodit to version 4.12.28 or later, which fixes the sanitizer bypass; update the npm dependency (e.g. bump jodit to ^4.12.28) and redeploy per the advisory at https://github.com/xdan/jodit/security/advisories/GHSA-rxcw-mc6f-6hr3. If you cannot upgrade immediately, do not treat Jodit's clean-html output as trusted: run editor.value through a robust independent sanitizer such as DOMPurify before assigning it to innerHTML, which neutralizes the surviving onload/onfocus handlers at the cost of an extra processing step and possible stripping of legitimate embedded markup. As a further control, avoid rendering user-submitted editor content via raw innerHTML in security-sensitive contexts and enforce a Content-Security-Policy that blocks inline event-handler execution (script-src without 'unsafe-inline'), accepting that a strict CSP may break other inline scripts in the app and require refactoring.

Share

CVE-2026-58263 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy