aboutsummaryrefslogtreecommitdiffstats
path: root/web_src/js/features/common-global.js
diff options
context:
space:
mode:
authorGusted <williamzijl7@hotmail.com>2022-01-16 05:14:32 +0000
committerGitHub <noreply@github.com>2022-01-16 13:14:32 +0800
commit661d3d28e97bb49bef075c0314edad5879148aaa (patch)
tree9b4a0c1a8244b003b9467f861088d6eadbaafabc /web_src/js/features/common-global.js
parent4b4884ce889439f092d3797984e768e0cf2a278e (diff)
downloadgitea-661d3d28e97bb49bef075c0314edad5879148aaa.tar.gz
gitea-661d3d28e97bb49bef075c0314edad5879148aaa.zip
Prevent possible XSS when using jQuery (#18289)
In the case of misuse or misunderstanding from a developer whereby, if `sel` can receive user-controlled data, jQuery `$(sel)` can lead to the creation of a new element. Current usage is using hard-coded selectors in the templates, but nobody prevents that from expanding to user-controlled somehow.
Diffstat (limited to 'web_src/js/features/common-global.js')
-rw-r--r--web_src/js/features/common-global.js14
1 files changed, 7 insertions, 7 deletions
diff --git a/web_src/js/features/common-global.js b/web_src/js/features/common-global.js
index bf9d21ac49..258a056e32 100644
--- a/web_src/js/features/common-global.js
+++ b/web_src/js/features/common-global.js
@@ -124,7 +124,7 @@ export function initGlobalCommon() {
$('.tabable.menu .item').tab();
$('.toggle.button').on('click', function () {
- $($(this).data('target')).slideToggle(100);
+ $.find($(this).data('target')).slideToggle(100);
});
// make table <tr> and <td> elements clickable like a link
@@ -202,7 +202,7 @@ export function initGlobalLinkActions() {
closable: false,
onApprove() {
if ($this.data('type') === 'form') {
- $($this.data('form')).trigger('submit');
+ $.find($this.data('form')).trigger('submit');
return;
}
@@ -240,7 +240,7 @@ export function initGlobalLinkActions() {
closable: false,
onApprove() {
if ($this.data('type') === 'form') {
- $($this.data('form')).trigger('submit');
+ $.find($this.data('form')).trigger('submit');
return;
}
@@ -293,7 +293,7 @@ export function initGlobalLinkActions() {
export function initGlobalButtons() {
$('.show-panel.button').on('click', function () {
- $($(this).data('panel')).show();
+ $.find($(this).data('panel')).show();
});
$('.hide-panel.button').on('click', function (event) {
@@ -301,7 +301,7 @@ export function initGlobalButtons() {
event.preventDefault();
let sel = $(this).attr('data-panel');
if (sel) {
- $(sel).hide();
+ $.find(sel).hide();
return;
}
sel = $(this).attr('data-panel-closest');
@@ -314,8 +314,8 @@ export function initGlobalButtons() {
});
$('.show-modal.button').on('click', function () {
- $($(this).data('modal')).modal('show');
- const colorPickers = $($(this).data('modal')).find('.color-picker');
+ $.find($(this).data('modal')).modal('show');
+ const colorPickers = $.find($(this).data('modal')).find('.color-picker');
if (colorPickers.length > 0) {
initCompColorPicker();
}