git-ecosystem / git-ecosystem/git-credential-manager

File-Stored credentials diffusing into GCM?

Open
#1,467 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

auth-issue
Dominant language
C#
Stars
9.3k
Forks
2.9k
Avg merge
7d 1h
Merged PRs (30d)
14

Description

Version

2.3.2

Operating system

Windows

OS version or distribution

Windows 11

Git hosting provider(s)

Other - please describe below

Other hosting provider

It's a self-hosted gitlab, but I don't think this is important.

Can you access the remote repository directly in the browser?

Yes, I can access the repository

How to Reproduce

I have two credential helpers configured

>git config --get-all credential.helper
manager
store --file=F:/gitcredentials

For this test I made sure that these specific credentials are only in the file store, and not in GCM / WCM (windows credential manager).

I go into the repository that would make use of the https-credentials that are in F:/gitcredentials and do a git fetch. I will be asked for credentials by the default GUI (which I should not, because the credentials are in the file), but this is not my problem. I cancel that GUI, I do not enter my credentials there. The fetch fails (this is also not the main problem, even though it is unexpected).

the main problem follows

Checking the Windows Credential Manager shows new credentials for that domain?!** Somehow, my credentials made it from the file store to the GCM/WCM. The subsequent git fetch "just works", even if I remove the credentials file itself.

Actual behavior

as mentioned above: the actual behavious is: failing to fetch but somehow writing new credential information to GCM/WCM.

Expected behaviour

The two credential stores should be fully seperate in my opinion. I don't see why credentials stored somewhere else should make it into WCM/GCM? I also don't see information about this in the git credentials documentation, so I am not even sure if this intended behaviour.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the reported Windows 11 reproduction using the manager and store --file=F:/gitcredentials helpers, then observe Windows Credential Manager after cancelling the credential prompt. Trace the credential-helper interaction to establish whether file-stored credentials are persisted in GCM/WCM; done means the behavior is corrected or its intended behavior is clearly documented and verified with the reproduction.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, git
Domain
authentication, security
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.