mxGraph vulnerable to cross-site scripting in color field
Date: 2022-05
Affected: npm/mxgraph
Attack vector: xss
Category: vulnerability-disclosure
Severity: Medium
CVE: CVE-2019-13127
CWE: CWE-79
CVSS: 6.1 (CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N)

mxGraph through 4.0.0, related to the [draw.io Diagrams](https://github.com/jgraph/drawio) plugin before 8.3.14 for Confluence and other products, is vulnerable to cross-site scripting. draw.io Diagrams allows the creation and editing of draw.io-based diagrams in Confluence. Among other things, it allows to set the background color of text displayed in the diagram. The color provided by the user is notproperly sanitized, leading to HTML and JavaScript code to be displayed "as it is" to visitors of the page. This allows attackers to execute JavaScript code in the context of the visitor's browser and session and to e.g. run Confluence command under the visitor's user or attack the visitor's browser. **Proof of Concept (PoC):** 1. Create a new draw.io Diagram, add an element and edit its background color and enter some text to the element 2. Enter the following "color": `onMouseOver=alert(1) a=` 3. Save and view the resulting diagram, moving your mouse over the text


Mitigations:

Architectural layers (MAESTRO):