git-ecosystem / git-ecosystem/git-credential-manager
File-Stored credentials diffusing into GCM?
Nobody has claimed this yet.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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