diff --git a/frontend/static/js/upload.js b/frontend/static/js/upload.js index b8ecd62a..539cd4c9 100644 --- a/frontend/static/js/upload.js +++ b/frontend/static/js/upload.js @@ -293,13 +293,24 @@ function processFiles(files, progressContainer, statusMessage) { updateStatus(); } + function _escapeHtml(str) { + if (!str) return ''; + return String(str) + .replace(/&/g, '&') + .replace(//g, '>') + .replace(/"/g, '"') + .replace(/'/g, '''); + } + // Pre-create one progress row per file. const queueItems = fileArray.map((file) => { const row = document.createElement('div'); row.className = 'flex flex-col mb-2'; + const safeFileName = _escapeHtml(file.name); row.innerHTML = `
- ${file.name} + ${safeFileName} ${formatFileSize(file.size)}
@@ -546,4 +557,3 @@ function initDragAndDrop(element, progressContainer, statusMessage, options = {} }); } -