HexBrain

GitLab · Report #633001

Private System Note Disclosure using GraphQL

Validstatus
lowseverity
17upvotes
13 Dec 2019disclosed

How it was found

Summary

When you use the REST API or UI to view an issue's discussion/notes, private system note is hidden to member's only.

Such as moving an issue to a private project, making issue as duplicate of a confidential issue, someone mentioned this issue in a confidential issue.

They are properly hidden in REST and UI, but you can still see them in graphql

Steps to reproduce

query {
  project(fullPath:"username16/ci-test"){
    issue(iid:"1"){
      descriptionHtml

      notes{
        edges{
          node{
            bodyHtml
            system
            author{
              username
            }
            body
          }
        }
      }
    }}
  }
  • You should notice it has moved to dynamic#1, which is not visible from UI
  • also you should be able to see it was marked as duplicate of #2, which is not visible from UI cause #2 is confidential
  • also you can see someone mentioned this issue in #2, which is not visible from UI cause #2 is confidentail

Impact

Disclosure of all system note of an issue/MR/designs that should be private

Reproduced on gitlab.com

Impact

Disclosure of all system note of an issue/MR/designs that should be private

This report was disclosed publicly on HackerOne and belongs to its author and the program. See the original