Skip to content

fix(deps): update module github.com/go-git/go-git/v5 to v5.18.0 [security] (alauda-v1.28.0)#33

Merged
l-qing merged 2 commits into
alauda-v1.28.0from
renovate/alauda-v1.28.0-go-github.com-go-git-go-git-v5-vulnerability
May 9, 2026
Merged

fix(deps): update module github.com/go-git/go-git/v5 to v5.18.0 [security] (alauda-v1.28.0)#33
l-qing merged 2 commits into
alauda-v1.28.0from
renovate/alauda-v1.28.0-go-github.com-go-git-go-git-v5-vulnerability

Conversation

@alaudaa-renovate
Copy link
Copy Markdown

This PR contains the following updates:

Package Change Age Confidence
github.com/go-git/go-git/v5 v5.17.1 -> v5.18.0 age confidence

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


go-git: Credential leak via cross-host redirect in smart HTTP transport

GHSA-3xc5-wrhm-f963

More information

Details

Impact

go-git may leak HTTP authentication credentials when following redirects during smart-HTTP clone and fetch operations.

If a remote repository responds to the initial /info/refs request with a redirect to a different host, go-git updates the session endpoint to the redirected location and reuses the original authentication for subsequent requests. This can result in the credentials (e.g. Authorization headers) being sent to an unintended host.

An attacker controlling or influencing the redirect target can capture these credentials and potentially reuse them to access the victim’s repositories or other resources, depending on the scope of the credential.

Clients using go-git exclusively with trusted remotes (for example, GitHub or GitLab), and over a secure HTTPS connection, are not affected by this issue. The risk arises when interacting with untrusted or misconfigured Git servers, or when using unsecured HTTP connections, which is not recommended. Such configurations also expose clients to a broader class of security risks beyond this issue, including credential interception and tampering of repository data.

Patches

Users should upgrade to v5.18.0, or v6.0.0-alpha.2, in order to mitigate this vulnerability. Versions prior to v5 are likely to be affected, users are recommended to upgrade to a supported go-git version.

The patched versions add support for configuring followRedirects. In line with upstream behaviour, the default is now initial, while users can opt into FollowRedirects or NoFollowRedirects programmatically.

Credit

Thanks to the 3 separate reports from @​celinke97, @​N0zoM1z0 and @​AyushParkara. Thanks for finding and reporting this issue privately to the go-git project. 🙇

Severity

  • CVSS Score: 4.7 / 10 (Medium)
  • Vector String: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:N/A:N

References

This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).


Release Notes

go-git/go-git (github.com/go-git/go-git/v5)

v5.18.0

Compare Source

What's Changed

Full Changelog: go-git/go-git@v5.17.2...v5.18.0

v5.17.2

Compare Source

What's Changed

⚠️ This release fixes a bug (https://github.com/go-git/go-git/issues/1942) that blocked some users from upgrading to v5.17.1. Thanks @​pskrbasu for reporting it. 🙇

Full Changelog: go-git/go-git@v5.17.1...v5.17.2


Configuration

📅 Schedule: Branch creation - "" in timezone Asia/Shanghai, Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

The repo's go.mod was bumped to Go 1.26.1 (commit 4d9ab79), but the
pinned golangci-lint v2.4.0 binary was built with Go 1.25 and refuses
to run with: "the Go language version (go1.25) used to build
golangci-lint is lower than the targeted Go version (1.26.1)". Its
internal go/types also panics when loading Go 1.26 packages, so the
binary must be rebuilt with Go 1.26+; v2.12.2 is built with go1.26.2.

The newer linter binary surfaces additional findings from analyzers
that didn't exist in v2.4.0. Suppress the new sub-checks to preserve
prior coverage instead of churning unrelated code:

- govet: disable inline (stylistic constant-inlining suggestion)
- gocritic: disable deprecatedComment (formatting nitpick)
- staticcheck: disable QF1012 (Quick-Fix style suggestion)
- gosec: exclude G703 (path-traversal taint on example/CLI programs)
- drop goconst from enabled linters (now flags string literals inside
  slice/map composite literals across many lookup tables; v2.4.0 did
  not flag these)

One real bug the new govet caught is fixed in this commit:
search_result.go was using %q for int64 fields where %d is correct.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@l-qing l-qing merged commit ba96fe2 into alauda-v1.28.0 May 9, 2026
10 checks passed
@l-qing l-qing deleted the renovate/alauda-v1.28.0-go-github.com-go-git-go-git-v5-vulnerability branch May 9, 2026 15:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants