CVE-2026-46642: draw.io: XSS via crafted cell label when opening a .drawio file
draw.io is a configurable diagramming and whiteboarding application. Prior to version 29.7.12, a crafted .drawio file can execute arbitrary JavaScript in the editor's origin when the file is opened. The vulnerability is not in the label sanitizer (which works correctly on the rendering path) but in a feature-detection routine in the Text Format panel that reads the raw cell label and assigns it to a detached element's innerHTML without sanitization. Browsers fire onerror for failed image loads even on detached elements, so an <img src=x onerror=...> payload in any cell label triggers script execution as soon as the cell is selected — which import does automatically. This issue has been patched in version 29.7.12.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
draw.ioto a version that resolves this vulnerability.Fixed in 29.7.12
Event History
Frequently Asked Questions
What is the severity of CVE-2026-46642?
The severity of CVE-2026-46642 is medium with a score of 6.1.
What type of vulnerability is associated with CVE-2026-46642?
CVE-2026-46642 is an XSS vulnerability that allows arbitrary JavaScript execution.
How do I fix CVE-2026-46642?
To fix CVE-2026-46642, upgrade to draw.io version 29.7.12 or later.
What can be exploited in CVE-2026-46642?
The vulnerability allows crafted .drawio files to execute JavaScript when opened in the editor.
Is there a workaround for CVE-2026-46642 before upgrading?
Currently, there are no known effective workarounds for CVE-2026-46642 other than upgrading the software.