id: gitlab-uninitialized-password

info:
  name: Uninitialized GitLab instances
  author: GitLab Red Team
  severity: high
  description: |
    Prior to version 14, GitLab installations required a root password to be
    set via the web UI. If the administrator skipped this step, any visitor
    could set a password and control the instance.
  reference:
    - https://gitlab.com/gitlab-org/gitlab/-/issues/211328
    - https://gitlab.com/gitlab-org/omnibus-gitlab/-/merge_requests/5331
    - https://docs.gitlab.com/omnibus/installation/#set-up-the-initial-password
  metadata:
    max-request: 1
    shodan-query: http.title:"GitLab"
  tags: gitlab,misconfig,unauth

http:
  - method: GET
    path:
      - "{{BaseURL}}/users/sign_in"

    host-redirects: true
    max-redirects: 2

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - 'Change your password'
          - 'New password'
          - 'Confirm new password'
        condition: and

      - type: word
        part: header
        words:
          - 'gitlab_session'

      - type: status
        status:
          - 200
# digest: 4a0a004730450221008642b9e7e43cfe60a0f255f46041165714f5bfebb06df848addfc97387b0d5150220040f6770dc621cfae9f33c590a4d4202a713133d17cac0f0ed767d1d1a6217f4:922c64590222798bb761d5b6d8e72950