Skip to main content
VulnerabilityPublished Updated

CVE-2026-58504: jgraph drawio · Cross-site Scripting

Affects jgraph drawioSource CVE Database V5

0
Compare

Mentioned vulnerabilities

Not known to be exploited · CVSS 6.1 Medium : upgrade to 30.2.5 when convenient.

Data as of 5 Nov 2026, 00:01 UTC

CVSS 3.1 base score
6.1Medium
How severe the flaw is on the 0–10 CVSS scale.
EPSS
0.2% chance of exploitation in 30 days – higher than 16% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
Patch
Available – fixed in 30.2.5
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 21 Sep 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponized: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 5 Nov 2026.

What to do

Upgrade drawio and jgraph/drawio to 30.2.5.

Affected software

ProductAffectedFixed in
jgraphdrawioAffected
  • <30.2.5
Fixed in
  • 30.2.5
GitHubjgraph/drawiopkg:github/jgraph/drawioOther threatsAffected
  • <30.2.5
Fixed in
  • 30.2.5

Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.

AI-suggested

Users should upgrade draw.io to version 30.2.5 or later, where this vulnerability is fixed. No other mitigation is indicated by the vendor advisory. Patch status is confirmed fixed in 30.2.5.

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.

References

Community reviews

Loading reviews…