Git credential helper vulnerability announced (Update)
Learn more about the security vulnerabilities affecting Git 2.26.1 and older.
A couple of days ago, Git released v2.26.1 to address a critical vulnerability in the credential helper mechanism. Today, the Git project is releasing another round of updates to address a related issue that’s present in v2.26.1 and older.
This vulnerability allows a malformed URL to create a credential pattern inside Git with some fields left blank. Many credential helpers interpret these blank values as an instruction to match any credential. This can result in leaking values from the underlying credential store to untrusted sources, sending the password stored for one server to another.
These updates address this new issue by not invoking the credential helper at all when the URL contains an un-representable value.
Note that not all credential helpers behave in a way that triggers the vulnerability. Git’s own store
and cache
helpers, along with the osxkeychain
helper, are known to be vulnerable. Git Credential Manager for Windows is known to be unaffected. Other helpers should be assumed to be affected.
Upgrade to the latest Git version
The most effective way to protect against this vulnerability is to upgrade to v2.26.2. If you can’t update your client immediately, reduce your risk by following the same guidelines we recommend for v2.26.1:
- Avoid running git clone with
--recurse-submodules
against untrusted repositories. - Avoid using the credential helper by only cloning publicly available repositories
GitHub has implemented additional steps on top of the ones we took to protect against the attacks discovered in v2.26.1. Specifically, that means:
- Malicious
.gitmodules
(including new variants discovered in v2.26.2) are blocked from being pushed to GitHub.com. - A new GitHub Desktop release is being prepared that prevents exploiting the new vulnerability.
- The next patch release of GitHub Enterprise Server backports the push-blocking changes we’re using on GitHub.com. Note that installations themselves are not vulnerable to this new attack.
Credit for finding these vulnerabilities goes to Carlo Arenas, as well as further analysis by Jonathan Nieder of Google.
Tags:
Written by
Related posts
What the EU’s new software legislation means for developers
The EU Cyber Resilience Act will introduce new cybersecurity requirements for software released in the EU. Learn what it means for your open source projects and what GitHub is doing to ensure the law will be a net win for open source maintainers.
Game Off 2024 theme announcement
GitHub’s annual month-long game jam, where creativity knows no limits! Throughout November, dive into your favorite game engines, libraries, and programming languages to bring your wildest game ideas to life. Whether you’re a seasoned dev or just getting started, it’s all about having fun and making something awesome!
Highlights from Git 2.47
Git 2.47 is here, with features like incremental multi-pack indexes and more. Check out our coverage of some of the highlights here.