Skip to content

Commit 2fa7173

Browse files
committed
MC-13922: [Sec] XSS Injection in Admin For Map Location Attributes, Image Caption, Slide Name
- Resolve XSS in slider, image & map
1 parent 6c806ef commit 2fa7173

File tree

4 files changed

+11
-11
lines changed

4 files changed

+11
-11
lines changed

app/code/Magento/PageBuilder/view/adminhtml/pagebuilder/content_type/image.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@
6363
</element>
6464
<element name="empty_link"/>
6565
<element name="caption">
66-
<html name="image_caption"/>
66+
<html name="image_caption" converter="Magento_PageBuilder/js/converter/html/tag-escaper"/>
6767
</element>
6868
</elements>
6969
<converters>

app/code/Magento/PageBuilder/view/adminhtml/web/template/content-type/column/full-height/preview.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
</if>
2727
</div>
2828
<div class="pagebuilder-display-label"
29-
html="displayLabel().toUpperCase()">
29+
text="displayLabel().toUpperCase()">
3030
</div>
3131
<div class="pagebuilder-empty-container"
3232
css="{visible: parent.children().length == 0}"

app/code/Magento/PageBuilder/view/adminhtml/web/template/content-type/slider/default/preview.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
<span if="preview.previewData.slide_name() !== ''"
3131
class="tooltip-content"
3232
role="tooltip"
33-
html="preview.previewData.slide_name()">
33+
text="preview.previewData.slide_name()">
3434
</span>
3535
</div>
3636
</div>

app/code/Magento/PageBuilder/view/base/web/js/utils/map.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -108,16 +108,16 @@ define([
108108
*/
109109
if (newMarkers && newMarkers.length) {
110110
newMarkers.forEach(function (newMarker) {
111-
var location = newMarker['location_name'] || '',
111+
var location = _.escape(newMarker['location_name']) || '',
112112
comment = newMarker.comment ?
113-
'<p>' + newMarker.comment.replace(/(?:\r\n|\r|\n)/g, '<br/>') + '</p>'
113+
'<p>' + _.escape(newMarker.comment).replace(/(?:\r\n|\r|\n)/g, '<br/>') + '</p>'
114114
: '',
115-
phone = newMarker.phone ? '<p>Phone: ' + newMarker.phone + '</p>' : '',
116-
address = newMarker.address ? newMarker.address + '<br/>' : '',
117-
city = newMarker.city || '',
118-
country = newMarker.country ? newMarker.country : '',
119-
state = newMarker.state ? newMarker.state + ' ' : '',
120-
zipCode = newMarker.zipcode ? newMarker.zipcode : '',
115+
phone = newMarker.phone ? '<p>Phone: ' + _.escape(newMarker.phone) + '</p>' : '',
116+
address = newMarker.address ? _.escape(newMarker.address) + '<br/>' : '',
117+
city = _.escape(newMarker.city) || '',
118+
country = newMarker.country ? _.escape(newMarker.country) : '',
119+
state = newMarker.state ? _.escape(newMarker.state) + ' ' : '',
120+
zipCode = newMarker.zipcode ? _.escape(newMarker.zipcode) : '',
121121
cityComma = city !== '' && (zipCode !== '' || state !== '') ? ', ' : '',
122122
lineBreak = city !== '' || zipCode !== '' ? '<br/>' : '',
123123
contentString =

0 commit comments

Comments
 (0)