Skip to content

Issue#visible_to_user doesn't check issues_access_level

If issues_access_level is set to ProjectFeature::PRIVATE this leads to information disclosures in the issues API and search results. This is being fixed in those cases by replacing Issue#visible_to_user with IssuesFinder in https://dev.gitlab.org/gitlab/gitlabhq/merge_requests/2031/, but might still be a problem elsewhere.

Additionally this method only checks project access if already chained as project.issues.visible_to_user and doesn't if used as Issue.all.visible_to_user.

To fix this and avoid future problems @DouweM suggested moving this method to IssuesFinder so it can't be used directly.

Related issues and MRs

#23867 (closed), https://dev.gitlab.org/gitlab/gitlabhq/merge_requests/2024, https://dev.gitlab.org/gitlab/gitlabhq/merge_requests/2031