From dc53699a969c6313b68e441032bcd703e60c90ea Mon Sep 17 00:00:00 2001 From: Yash-Singh1 Date: Thu, 28 Apr 2022 19:29:56 -0700 Subject: [PATCH] chore: fix a few security vulnerabilities --- src/diagrams/class/classDb.js | 2 +- src/diagrams/common/common.js | 10 ++++---- src/diagrams/common/common.spec.js | 37 ++++++++++++++++++++++++------ src/diagrams/flowchart/flowDb.js | 2 +- 4 files changed, 37 insertions(+), 14 deletions(-) diff --git a/src/diagrams/class/classDb.js b/src/diagrams/class/classDb.js index 3c0097aed7..11591cc513 100644 --- a/src/diagrams/class/classDb.js +++ b/src/diagrams/class/classDb.js @@ -326,7 +326,7 @@ const setupToolTips = function (element) { tooltipElem.transition().duration(200).style('opacity', '.9'); tooltipElem - .html(el.attr('title')) + .text(el.attr('title')) .style('left', window.scrollX + rect.left + (rect.right - rect.left) / 2 + 'px') .style('top', window.scrollY + rect.top - 14 + document.body.scrollTop + 'px'); el.classed('hover', true); diff --git a/src/diagrams/common/common.js b/src/diagrams/common/common.js index b61d4dddd5..b4a3411694 100644 --- a/src/diagrams/common/common.js +++ b/src/diagrams/common/common.js @@ -57,11 +57,11 @@ export const removeScript = (txt) => { } } let decodedText = removeEscapes(rs); - decodedText = decodedText.replace(/script>/gi, '#'); - decodedText = decodedText.replace(/javascript:/gi, '#'); - decodedText = decodedText.replace(/javascript&colon/gi, '#'); - decodedText = decodedText.replace(/onerror=/gi, 'onerror:'); - decodedText = decodedText.replace(/ + `, + ` src="http://abc.com/script1.js"> + src="http://example.com/iframeexample">` + ); }); }); diff --git a/src/diagrams/flowchart/flowDb.js b/src/diagrams/flowchart/flowDb.js index 630c412cbc..546121e088 100644 --- a/src/diagrams/flowchart/flowDb.js +++ b/src/diagrams/flowchart/flowDb.js @@ -417,7 +417,7 @@ const setupToolTips = function (element) { tooltipElem.transition().duration(200).style('opacity', '.9'); tooltipElem - .html(el.attr('title')) + .text(el.attr('title')) .style('left', window.scrollX + rect.left + (rect.right - rect.left) / 2 + 'px') .style('top', window.scrollY + rect.top - 14 + document.body.scrollTop + 'px'); el.classed('hover', true);