← Back to CVE Explorer

CVE-2026-46642

Full vulnerability record from the local CVENow database.

Description

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.

Severity
MEDIUM
CVSS score
6.1 (v3.1)
Vulnerability status
Analyzed
Source identifier
Published
2026-06-10 18:17:06.007000
Last modified
2026-10-26 11:10:00.157000
View original CVE JSON
{
  "id": "CVE-2026-46642",
  "sourceIdentifier": "[email protected]",
  "published": "2026-06-10T18:17:06.007",
  "lastModified": "2026-10-26T11:10:00.157",
  "vulnStatus": "Analyzed",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "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."
    },
    {
      "lang": "es",
      "value": "draw.io es una aplicación configurable de diagramación y pizarra blanca. Antes de la versión 29.7.12, un archivo .drawio manipulado puede ejecutar JavaScript arbitrario en el origen del editor cuando se abre el archivo. La vulnerabilidad no está en el saneador de etiquetas (que funciona correctamente en la ruta de renderizado) sino en una rutina de detección de características en el panel de Formato de Texto que lee la etiqueta de celda sin procesar y la asigna al innerHTML de un elemento desvinculado sin saneamiento. Los navegadores disparan onerror para cargas de imágenes fallidas incluso en elementos desvinculados, por lo que una carga útil <img src=x onerror_disabled=...> en cualquier etiqueta de celda desencadena la ejecución de scripts tan pronto como se selecciona la celda - lo que la importación hace automáticamente. Este problema ha sido parcheado en la versión 29.7.12."
    }
  ],
  "affected": [
    {
      "source": "[email protected]",
      "affectedData": [
        {
          "vendor": "jgraph",
          "product": "drawio",
          "versions": [
            {
              "version": "< 29.7.12",
              "status": "affected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV31": [
      {
        "source": "[email protected]",
        "type": "Secondary",
        "cvssData": {
          "version": "3.1",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N",
          "baseScore": 6.1,
          "baseSeverity": "MEDIUM",
          "attackVector": "NETWORK",
          "attackComplexity": "LOW",
          "privilegesRequired": "NONE",
          "userInteraction": "REQUIRED",
          "scope": "CHANGED",
          "confidentialityImpact": "LOW",
          "integrityImpact": "LOW",
          "availabilityImpact": "NONE"
        },
        "exploitabilityScore": 2.8,
        "impactScore": 2.7
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "timestamp": "2026-06-11T14:02:47.367642Z",
          "id": "CVE-2026-46642",
          "options": [
            {
              "exploitation": "poc"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "role": "CISA Coordinator",
          "version": "2.0.3"
        }
      }
    ]
  },
  "weaknesses": [
    {
      "source": "[email protected]",
      "type": "Secondary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-79"
        }
      ]
    }
  ],
  "configurations": [
    {
      "nodes": [
        {
          "operator": "OR",
          "negate": false,
          "cpeMatch": [
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:a:diagrams:drawio:*:*:*:*:*:*:*:*",
              "versionEndExcluding": "29.7.12",
              "matchCriteriaId": "2C08CD9B-D519-4495-ABB6-5FCC7601CFB4"
            }
          ]
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://github.com/jgraph/drawio/releases/tag/v29.7.12",
      "source": "[email protected]",
      "tags": [
        "Release Notes"
      ]
    },
    {
      "url": "https://github.com/jgraph/drawio/security/advisories/GHSA-fqhg-287p-c6vf",
      "source": "[email protected]",
      "tags": [
        "Exploit",
        "Mitigation",
        "Vendor Advisory"
      ]
    },
    {
      "url": "https://github.com/jgraph/drawio/security/advisories/GHSA-fqhg-287p-c6vf",
      "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
      "tags": [
        "Exploit",
        "Mitigation",
        "Vendor Advisory"
      ]
    }
  ]
}