Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2026-58504— draw.io: Stored XSS on file open via editable=0 sibling cell — patch bypass of CVE-2026-46642

Quick assessment

Affected
jgraph drawio
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

draw.io is a configurable diagramming and whiteboarding application. Prior to version 30.2.5, opening or importing a crafted .drawio file can execute attacker-controlled JavaScript in the draw.io origin when selected cells are processed by TextFormatPanel.addF

CVSS 6.1 · Medium EPSS 0.20% · P11

Affected Version Matrix 1

VendorProduct Version RangeStatus
jgraph drawio < 30.2.5 affected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-58504

Vulnerability Information

Shenlong is analyzing...


Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
draw.io: Stored XSS on file open via editable=0 sibling cell — patch bypass of CVE-2026-46642
Source: CVE Program / CVE List V5
Vulnerability Description
draw.io is a configurable diagramming and whiteboarding application. Prior to version 30.2.5, opening or importing a crafted .drawio file can execute attacker-controlled JavaScript in the draw.io origin when selected cells are processed by TextFormatPanel.addFont() in src/main/webapp/js/grapheditor/Format.js. An HTML sibling cell keeps the formatted-label path enabled while an editable=0 plain-text sibling is excluded from the merged selection style but remains in the iteration set. graph.cellRenderer.getLabelValue() returns that plain-text label without HTML encoding, and mxUtils.canConvertHtmlToSvg() parses it as HTML, bypassing the earlier CVE-2026-46642 remediation. Successful exploitation can expose diagram data, browser storage, non-HttpOnly cookies, and same-origin actions available to the victim. This issue is fixed in version 30.2.5.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Source: CVE Program / CVE List V5
Vulnerability Type
在Web页面生成时对输入的转义处理不恰当(跨站脚本)
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
jgraph drawio < 30.2.5 -

II. Public POCs for CVE-2026-58504

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-58504

登录查看更多情报信息。

Other References for CVE-2026-58504 (2)

Same Patch Batch · jgraph · 2026-09-21 · 5 CVEs total

CVE-2026-76898 7.7 HIGH draw.io: Unauthenticated SSRF via IPv6 ULA blocklist bypass in /embed2.js
CVE-2026-63334 6.8 MEDIUM draw.io: SSRF via DNS rebinding in ProxyServlet bypasses private IP blocklist
CVE-2026-63373 4.2 MEDIUM draw.io: OAuth CSRF via missing state validation on self-hosted deployments allows session
CVE-2026-63416 3.7 LOW draw.io: Path traversal in ExportProxyServlet allows access to arbitrary backend endpoints

IV. Related Vulnerabilities

V. Comments for CVE-2026-58504

No comments yet


Leave a comment