Skip to content
Snippets Groups Projects
Commit 7f0ce1ea authored by Yorick Peterse's avatar Yorick Peterse
Browse files

Merge branch 'security-do-not-process-mr-ref-for-guests-11-5' into 'security-11-5'

[11.5] Don't process MR refs for guests in the notes

See merge request gitlab/gitlabhq!2783

(cherry picked from commit 5a508bb7a5e3d7a048c6b3f50f74727e1c71b56e)

d4af76d9 Don't process MR refs for guests in the notes
parent 34719d9c
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -388,7 +388,7 @@ class ProjectPolicy < BasePolicy
end.enable :read_issue_iid
 
rule do
(can?(:read_project_for_iids) & merge_requests_visible_to_user) | can?(:read_merge_request)
(~guest & can?(:read_project_for_iids) & merge_requests_visible_to_user) | can?(:read_merge_request)
end.enable :read_merge_request_iid
 
private
Loading
Loading
---
title: Don't process MR refs for guests in the notes
merge_request: 2771
author:
type: security
Loading
Loading
@@ -12,7 +12,7 @@ describe ProjectPolicy do
let(:base_guest_permissions) do
%i[
read_project read_board read_list read_wiki read_issue
read_project_for_iids read_issue_iid read_merge_request_iid read_label
read_project_for_iids read_issue_iid read_label
read_milestone read_project_snippet read_project_member read_note
create_project create_issue create_note upload_file create_merge_request_in
award_emoji
Loading
Loading
@@ -152,6 +152,16 @@ describe ProjectPolicy do
end
end
 
context 'for a guest in a private project' do
let(:project) { create(:project, :private) }
subject { described_class.new(guest, project) }
it 'disallows the guest from reading the merge request and merge request iid' do
expect_disallowed(:read_merge_request)
expect_disallowed(:read_merge_request_iid)
end
end
context 'builds feature' do
context 'when builds are disabled' do
subject { described_class.new(owner, project) }
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment