Security Big: Branch Permission Issue.

Yogesh Kumar November 25, 2019

Hi,

I have a repository, for which I have set the master access for a specific user only. Which works fine in normal scenarios. But as I noticed, there is a workaround by which users can still commit to the master branch.

The process I followed:

1.) Let's say there is a repository with name repo-1.

2.) In Branch Permissions I have set write access to a specific user only say User1:

      master -> Write access -> User1

3.) Now there is another user Say User2. Who doesn't have access to commit to the master branch. 

Now to commit to the master branch, all he has to do is as follows:

   1.) Update the Global config File ~/.gitconfig and add User1 as user and email. No password required.

   In the repo, he can have his username as User2.  when the user will push the commit, He will be asked password as per the repo configuration. and after successful authentication. the push will be published to the master branch without any restriction.

And the most amazing part is, Even commit will be Displayed as User1.

 

 

 

 

1 comment

Kavi Laud
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
November 25, 2019

Hello, Yogesh,

Thanks for taking the time to make this post.

Branch Permissions are enforced based on the Bitbucket user performing the push or merge. It's possible that software like ssh-agent or git-credential-manager is caching credentials and causing unexpected results.

If you're sure User2 is able to push to the master branch, I encourage you to reach out to Atlassian support so they may diagnose the issue and help get it resolved.

To address your other concern:

And the most amazing part is, Even commit will be Displayed as User1.

The commit authorship information that Bitbucket displays is based on the name and e-mail address that are specified at the time the commit is made.

Git doesn't require proof that the committer is who they say they are, but it is possible to sign commits and tags cryptographically. Bitbucket doesn't currently have any features leveraging this signature information, but we may build something in the future to help users verify signatures.

I hope this has been helpful, and thank you again for your post!

Kavi Laud
Senior Developer, Bitbucket Cloud

Comment

Log in or Sign up to comment
TAGS
AUG Leaders

Atlassian Community Events