Skip to content
代码片段 群组 项目
提交 69645dae 编辑于 作者: Kerri Miller's avatar Kerri Miller
浏览文件

Merge branch 'fix_maintenance_mode_message' into 'master'

Sanitize custom maintenance mode message

See merge request https://gitlab.com/gitlab-org/gitlab/-/merge_requests/139266



Merged-by: default avatarKerri Miller <kerrizor@kerrizor.com>
Approved-by: default avatarKerri Miller <kerrizor@kerrizor.com>
Approved-by: default avatarKevin Morrison <kmorrison@gitlab.com>
Approved-by: default avatarmo khan <mo@mokhan.ca>
Reviewed-by: default avatarmo khan <mo@mokhan.ca>
Co-authored-by: default avatarThomas Hutterer <thutterer@gitlab.com>
No related branches found
No related tags found
无相关合并请求
......@@ -108,7 +108,7 @@ def show_last_push_widget?(event)
private
def custom_maintenance_mode_message
::Gitlab::CurrentSettings.maintenance_mode_message&.html_safe ||
sanitize(::Gitlab::CurrentSettings.maintenance_mode_message) ||
_('GitLab is undergoing maintenance')
end
......
......@@ -30,11 +30,25 @@
expect(helper.read_only_message).to match(default_maintenance_mode_message)
end
it 'returns user set custom maintenance mode message' do
custom_message = 'Maintenance window ends at 00:00.'
stub_application_setting(maintenance_mode_message: custom_message)
context 'with user set custom maintenance mode message' do
before do
stub_application_setting(maintenance_mode_message: custom_message)
end
expect(helper.read_only_message).to match(/#{custom_message}/)
let(:custom_message) { 'Maintenance window ends at 00:00.' }
it 'returns the custom message' do
expect(helper.read_only_message).to match(/#{custom_message}/)
end
context 'with XSS injection' do
let(:custom_message) { 'Hi <script>alert("XSS")</script>' }
it 'sanitizes the custom message' do
expect(helper.read_only_message).to match(/Hi alert/)
expect(helper.read_only_message).not_to match(/script/)
end
end
end
end
......
0% 加载中 .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册