Skip to content

Commit 48f3be8

Browse files
authored
Merge pull request #1632 from hackmdio/bugfix/fix-xss-in-lightbox-image-attribute
Fix xss issue for image lightbox
2 parents 25119ad + 5fee551 commit 48f3be8

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

public/js/lib/renderer/fretboard/fretboard.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
/* global $ */
2+
import escapeHTML from 'lodash/escape'
23

34
import './css/i.css'
45
import dotEmpty from './svg/dotEmpty.svg'
@@ -41,7 +42,7 @@ export const renderFretBoard = (content, { title: fretTitle = '', type = '' }) =
4142
const fretboardHTML = $(`<div class="${containerClass}"></div>`)
4243

4344
if (fretTitle) {
44-
$(fretboardHTML).append(`<div class="fretTitle">${fretTitle}</div>`)
45+
$(fretboardHTML).append(`<div class="fretTitle">${escapeHTML(fretTitle)}</div>`)
4546
}
4647

4748
// create fretboard background HTML

public/js/lib/renderer/lightbox/index.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import './lightbox.css'
2+
import escape from 'lodash/escape'
23

34
let images = []
45
/** @type {HTMLImageElement} */
@@ -74,7 +75,7 @@ function setImageInner (img, lightBoxContainer) {
7475
const src = img.getAttribute('src')
7576
const alt = img.getAttribute('alt')
7677

77-
lightBoxContainer.querySelector('.lightbox-inner').innerHTML = `<img src="${src}" alt="${alt}" draggable="false">`
78+
lightBoxContainer.querySelector('.lightbox-inner').innerHTML = `<img src="${escape(src)}" alt="${escape(alt)}" draggable="false">`
7879
addImageDragListener(lightBoxContainer.querySelector('.lightbox-inner img'))
7980
}
8081

0 commit comments

Comments
 (0)