summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamantha Ming <sming@gitlab.com>2019-10-10 14:56:36 -0700
committerSamantha Ming <sming@gitlab.com>2019-10-10 15:10:26 -0700
commit56b8d13b1adc6946a4b107e622aadaf0d6441696 (patch)
treee42561ec8dcd84d0c641ffffdbd7fd4aac0030df
parent635e1578219d95ee683cd2901fa5d0f6965e7033 (diff)
downloadgitlab-ce-56b8d13b1adc6946a4b107e622aadaf0d6441696.tar.gz
Sanitize search text to prevent XSS
-rw-r--r--app/assets/javascripts/project_find_file.js3
-rw-r--r--changelogs/unreleased/security-stored-xss-using-find-file.yml5
2 files changed, 7 insertions, 1 deletions
diff --git a/app/assets/javascripts/project_find_file.js b/app/assets/javascripts/project_find_file.js
index 60d3d83a4b2..bd5ab4f9ec4 100644
--- a/app/assets/javascripts/project_find_file.js
+++ b/app/assets/javascripts/project_find_file.js
@@ -5,6 +5,7 @@ import fuzzaldrinPlus from 'fuzzaldrin-plus';
import axios from '~/lib/utils/axios_utils';
import flash from '~/flash';
import { __ } from '~/locale';
+import sanitize from 'sanitize-html';
// highlight text(awefwbwgtc -> <b>a</b>wefw<b>b</b>wgt<b>c</b> )
const highlighter = function(element, text, matches) {
@@ -75,7 +76,7 @@ export default class ProjectFindFile {
findFile() {
var result, searchText;
- searchText = this.inputElement.val();
+ searchText = sanitize(this.inputElement.val());
result =
searchText.length > 0 ? fuzzaldrinPlus.filter(this.filePaths, searchText) : this.filePaths;
return this.renderList(result, searchText);
diff --git a/changelogs/unreleased/security-stored-xss-using-find-file.yml b/changelogs/unreleased/security-stored-xss-using-find-file.yml
new file mode 100644
index 00000000000..41cd2f9494f
--- /dev/null
+++ b/changelogs/unreleased/security-stored-xss-using-find-file.yml
@@ -0,0 +1,5 @@
+---
+title: Sanitize search text to prevent XSS
+merge_request:
+author:
+type: security