Fixes #20009: Fix DOM-based XSS vulnerability in search export functionality

Replace direct string concatenation with URLSearchParams to properly
encode user input in export link URLs, preventing injection of malicious
parameters or scripts through the search functionality.

Resolves CodeQL Alert #63 (js/xss-through-dom)
This commit is contained in:
Jason Novinger 2025-08-01 15:14:09 -05:00 committed by Jeremy Stretch
parent bb83187505
commit 2c09973e01
3 changed files with 3 additions and 1 deletions

Binary file not shown.

Binary file not shown.

View File

@ -38,7 +38,9 @@ function handleQuickSearchParams(event: Event): void {
if (quickSearchParameters != null) {
const link = document.getElementById('export_current_view') as HTMLLinkElement;
const search_parameter = `q=${quickSearchParameters.value}`;
const params = new URLSearchParams();
params.set('q', quickSearchParameters.value);
const search_parameter = params.toString();
const linkUpdated = link?.href + '&' + search_parameter;
link.setAttribute('href', linkUpdated);
}