-
- Downloads
Merge branch 'jej-use-issuable-finder-instead-of-access-check' into 'security'
Replace issue access checks with use of IssuableFinder Split from !2024 to partially solve https://gitlab.com/gitlab-org/gitlab-ce/issues/23867 ## Which fixes are in this MR?- Potentially untested - No test coverage - Test coverage of some sort exists (a test failed when error raised) - Test coverage of return value (a test failed when nil used) - Permissions check tested ### Issue lookup with access check Using `visible_to_user` likely makes these security issues too. See [Code smells](#code-smells). - [x] app/finders/notes_finder.rb:15 [`visible_to_user`] - [x] app/views/layouts/nav/_project.html.haml:73 [`visible_to_user`] [`.count`] - [x] app/services/merge_requests/build_service.rb:84 [`issue.try(:confidential?)`] - [x] lib/api/issues.rb:112 [`visible_to_user`] - CHANGELOG: Prevented API returning issues set to 'Only team members' to everyone - [x] lib/api/helpers.rb:126 [`can?(current_user, :read_issue, issue)`] Maybe here too? - [x] lib/gitlab/search_results.rb:53 [`visible_to_user`] ### Previous discussions - [ ] https://dev.gitlab.org/gitlab/gitlabhq/merge_requests/2024/diffs#b2ff264eddf9819d7693c14ae213d941494fe2b3_128_126 - [ ] https://dev.gitlab.org/gitlab/gitlabhq/merge_requests/2024/diffs#7b6375270d22f880bdcb085e47b519b426a5c6c7_87_87 See merge request !2031
Showing
- app/finders/issuable_finder.rb 1 addition, 1 deletionapp/finders/issuable_finder.rb
- app/finders/notes_finder.rb 1 addition, 1 deletionapp/finders/notes_finder.rb
- app/models/project.rb 2 additions, 2 deletionsapp/models/project.rb
- app/services/merge_requests/build_service.rb 1 addition, 1 deletionapp/services/merge_requests/build_service.rb
- app/views/layouts/nav/_project.html.haml 1 addition, 1 deletionapp/views/layouts/nav/_project.html.haml
- changelogs/unreleased/jej-use-issuable-finder-instead-of-access-check.yml 4 additions, 0 deletions...eased/jej-use-issuable-finder-instead-of-access-check.yml
- lib/api/helpers.rb 1 addition, 3 deletionslib/api/helpers.rb
- lib/api/issues.rb 1 addition, 1 deletionlib/api/issues.rb
- lib/gitlab/search_results.rb 1 addition, 1 deletionlib/gitlab/search_results.rb
- spec/lib/gitlab/project_search_results_spec.rb 9 additions, 0 deletionsspec/lib/gitlab/project_search_results_spec.rb
- spec/lib/gitlab/search_results_spec.rb 32 additions, 19 deletionsspec/lib/gitlab/search_results_spec.rb
- spec/models/project_spec.rb 13 additions, 3 deletionsspec/models/project_spec.rb
- spec/requests/api/issues_spec.rb 18 additions, 0 deletionsspec/requests/api/issues_spec.rb
- spec/services/merge_requests/build_service_spec.rb 12 additions, 0 deletionsspec/services/merge_requests/build_service_spec.rb
Please register or sign in to comment