Описание
mxGraph vulnerable to cross-site scripting in color field
mxGraph through 4.0.0, related to the draw.io Diagrams 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):
- Create a new draw.io Diagram, add an element and edit its background color and enter some text to the element
- Enter the following "color":
onMouseOver=alert(1) a= - Save and view the resulting diagram, moving your mouse over the text
Ссылки
- https://nvd.nist.gov/vuln/detail/CVE-2019-13127
- https://github.com/jgraph/mxgraph/commit/76e8e2809b622659a9c5ffdc4f19922b7a68cfa3
- https://marketplace.atlassian.com/apps/1210933/draw-io-diagrams-for-confluence/version-history
- https://www.syss.de/fileadmin/dokumente/Publikationen/Advisories/SYSS-2019-032.txt
Пакеты
mxgraph
<= 4.0.0
4.0.1
Связанные уязвимости
An issue was discovered in mxGraph through 4.0.0, related to the "draw.io Diagrams" plugin before 8.3.14 for Confluence and other products. Improper input validation/sanitization of a color field leads to XSS. This is associated with javascript/examples/grapheditor/www/js/Dialogs.js.
An issue was discovered in mxGraph through 4.0.0, related to the "draw.io Diagrams" plugin before 8.3.14 for Confluence and other products. Improper input validation/sanitization of a color field leads to XSS. This is associated with javascript/examples/grapheditor/www/js/Dialogs.js.