Skip to content

Commit bd9410f

Browse files
authored
Merge pull request #422 from Plaenkler/autofix/alert-9-4e9ffe52c5
[FIX] Code scanning alert no. 9: DOM text reinterpreted as HTML
2 parents af1d8e5 + 8c5a356 commit bd9410f

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

pkg/server/routes/web/static/js/index.js

+10-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
// Utility function to encode text content
2+
function encodeTextContent(text) {
3+
const div = document.createElement('div');
4+
div.appendChild(document.createTextNode(text));
5+
return div.innerHTML;
6+
}
7+
18
// Append inputs to form create job
29
document.getElementById('add-provider-select').addEventListener('change', async (e) => {
310
try {
@@ -21,8 +28,9 @@ document.getElementById('add-provider-select').addEventListener('change', async
2128
document.querySelector('table tbody').addEventListener('click', function(event) {
2229
const row = event.target.closest('tr');
2330
if (!row) return;
24-
document.getElementById('edit-id').value = row.querySelector('td:nth-child(1)').textContent;
25-
document.getElementById('delete-button').href = `/api/job/delete?ID=${row.querySelector('td:nth-child(1)').textContent}`;
31+
const idText = row.querySelector('td:nth-child(1)').textContent;
32+
document.getElementById('edit-id').value = idText;
33+
document.getElementById('delete-button').href = `/api/job/delete?ID=${encodeTextContent(idText)}`;
2634
document.getElementById('edit-provider-select').value = row.querySelector('td:nth-child(2)').textContent;
2735
const params = JSON.parse(row.querySelector('td:nth-child(4)').getAttribute('json'));
2836
let html = '';

0 commit comments

Comments
 (0)