Skip to content

GitLab Next

    • GitLab: the DevOps platform
    • Explore GitLab
    • Install GitLab
    • How GitLab compares
    • Get started
    • GitLab docs
    • GitLab Learn
  • Pricing
  • Talk to an expert
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
    • Menu
    Projects Groups Snippets
  • Get a free trial
  • Sign up
  • Login
  • Sign in / Register
  • GitLab FOSS GitLab FOSS
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 0
    • Merge requests 0
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • Code review
    • Insights
    • Issue
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar

GitLab 15.0 is launching on May 22! This version brings many exciting improvements, but also removes deprecated features and introduces breaking changes that may impact your workflow. To see what is being deprecated and removed, please visit Breaking changes in 15.0 and Deprecations.

  • GitLab.org
  • GitLab FOSSGitLab FOSS
  • Issues
  • #30366
Project 'gitlab-org/gitlab-ce' was moved to 'gitlab-org/gitlab-foss'. Please update any links and bookmarks that may still have the old path.
Closed
Open
Created Apr 03, 2017 by Chris@MrChrisW☯Contributor

Ability to abuse GitLab email issue creation for service verification

  • Title: Access to GitLab's Slack by abusing issue creation from e-mail
  • Weakness: Improper Authentication - Generic
  • Severity: Critical (9.3)
  • Link: https://hackerone.com/reports/218230
  • Date: 2017-04-03 00:23:27 +0000
  • By: @intidc

Details: Hi there,

I found a way to become a verified GitLab team member on Slack. By doing so, I gained access to dozens of channels possibly containing sensitive information. Note that I deleted my account intidc_hackerone immediately afterwards and did not join, read or engage with any of those channels.

How it works

  • The GitLab Slack login page allows anyone with a @gitlab.com e-mail address to join the team:

  • GitLab allows new issues to be created when e-mailed to a unique e-mail address containing a secret token at incoming+{username}/{projectname}+{token}@gitlab.com

  • As you can see, this is a valid @gitlab.com e-mail address, so we can use the issues system to sign up for services like Slack, Facebook Workplace, ...

  • These e-mail verification e-mails are e-mailed as new issue tickets to my project:

  • After clicking the verification link, all you need to do is set-up 2FA and you'll be able to access GitLab's Slack:

I took a screenshot of some channels as a proof of concept, but did not actually enter them

#Suggested fix

I've seen companies taking different approaches to prevent this from happening:

  • Only allow employees to join the Slack group by invitation, like Facebook does.
  • Enable SSO or other authentication methods, like PayPal does

These fixes can be carried out quickly but aren't waterproof: an attacker will still be able to gain access to similar services such as Facebook workplace or Yammer if they use similar authentication methods.

In the longer run, a safer approach would be:

  • Requiring users to mail their issue tickets to a gitlab subdomain e-mail, such as @reply.gitlab.com

cc @briann @stanhu

https://gitlab.com/gitlab-com/infrastructure/issues/1511

Assignee
Assign to
Time tracking