Fedora Account System
Red Hat Associate
Red Hat Customer
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process. libgit2 is a portable C implementation of the Git core methods provided as a linkable library with a solid API, allowing to build Git functionality into your application. Prior to 1.8.6 and 1.9.5, the built-in HTTP transport in src/libgit2/transports/http.c follows an offsite initial redirect, and handle_remote_auth and handle_auth pass transport->owner->url instead of transport->server.url to the credential callback when the redirected host returns 401 Unauthorized. A callback that scopes credentials to the original trusted URL can therefore return GIT_CREDENTIAL_USERPASS_PLAINTEXT credentials that libgit2 stores in transport->server.cred and sends as an Authorization header to the redirected host. An attacker who controls a trusted Git host or an open redirect on that host can disclose HTTP Basic credentials, personal access tokens, or equivalent credentials. This issue is fixed in versions 1.8.6 and 1.9.5.
Almost all packages that use libgit2 via the Rust bindings have already been migrated to newer versions, and this package is already retired in F44+. I'm looking into migrating the remaining users to rust-git2 v0.20+ on Fedora 43 and in EPEL too, at which point I would consider this issue resolved. As far as I can tell, the only remaining package that uses rust-libgit2-sys0.17 in Fedora 43 and EPEL 9 is rust-git-absorb, for which I have submitted pull requests to update the package in both f43 and epel9 to versions that no longer depend on rust-libgit2-sys0.17.