Update module github.com/go-git/go-git/v5 to v5.19.2 [SECURITY] (main) - #3473
Update module github.com/go-git/go-git/v5 to v5.19.2 [SECURITY] (main)#3473renovate[bot] wants to merge 1 commit into
Conversation
ℹ️ Artifact update noticeFile name: acceptance/go.modIn order to perform the update(s) described in the table above, Renovate ran the
Details:
File name: go.modIn order to perform the update(s) described in the table above, Renovate ran the
Details:
|
|
🤖 Finished Review · ✅ Success · Started 5:27 PM UTC · Completed 5:33 PM UTC Commit: |
|
Looks good to me Previous runLooks good to me Previous run (2)Looks good to me |
Codecov Report✅ All modified and coverable lines are covered by tests.
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
314f440 to
c7574b2
Compare
|
🤖 Finished Review · ✅ Success · Started 8:22 PM UTC · Completed 8:27 PM UTC Commit: |
Pull request was closed
|
🤖 Finished Retro · ✅ Success · Started 2:04 PM UTC · Completed 2:17 PM UTC Commit: |
Retro: PR #3473 — Renovate security update for go-git/go-git/v5 (autoclosed)Timeline
Workflow qualityThe review agent performed correctly within its current design constraints. It correctly classified a mechanical dependency bump, verified version consistency across both module directories, checked for PR body injection patterns, and approved appropriately. The root problem is not in the agent workflow — it's in the Renovate configuration that caused a security-specific PR to be folded into a slow-moving grouped PR before it could merge. Evidence for existing open issues (not proposing duplicates)
Proposals filed |
c7574b2 to
641f90c
Compare
|
🤖 Finished Review · ✅ Success · Started 2:31 PM UTC · Completed 2:38 PM UTC Commit: |
This PR contains the following updates:
v5.19.1→v5.19.2go-git: Worktree operations may follow symlinks
CVE-2026-71556 / GHSA-hc8v-wwc9-vgxm
More information
Details
Impact
A symlink traversal issue in
go-gitcould allow worktree operations to modify files outside the intended worktree path.The
worktreeFilesystemwrapper rejected dangerous path strings, including paths containing.git, parent-directory components, or control characters. However, it did not prevent filesystem operations from following symbolic links that were already present in the worktree.As a result, a path that is safe when evaluated as a string could still resolve into the repository's Git metadata directory. For example, if
sis a symbolic link to.git, writing tos/configwould modify.git/config.A symbolic link at the final path component could also be followed. For example, if
spoints directly to.git/config, openingsfor writing with truncation could overwrite the repository configuration.Exploitation requires an attacker to be able to introduce or control a symbolic link in the worktree and cause the application to perform a write through that path.
Applications using
storage/memoryfor their Storer, orgo-billy/memfsfor theirWorktree, are not affected by this vulnerability.Patches
The issue has been addressed by making the worktree filesystem wrapper a symlink-safe boundary.
Worktree operations now reject paths where an existing symbolic link in any path component could cause the operation to escape the intended worktree location, including symbolic links at the final component.
Users of filesystem-backed worktrees should upgrade to a patched version.
Credits
Thanks to @kodareef5 for reporting this issue and working with the go-git security team toward its resolution. 🥇
We would also like to thank @HughLewis20, who independently reported the same issue while a fix was already in progress.
Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:LReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
go-git: Malicious reference names may modify files outside the reference storage
CVE-2026-71557 / GHSA-qgq7-7hm3-q39j
More information
Details
Impact
A path traversal issue in
go-gitcould allow malicious reference names to access files outside the repository's intended reference storage.Loose references are stored under
.git/<reference-name>. The reference name was previously used as a path without verifying that the resolved path remained within the reference storage. A name such asrefs/heads/../../configcould therefore resolve to unrelated repository metadata such as.git/configor.git/HEAD.A malicious Git server could advertise such a reference name. The name may also survive refspec mapping; for example, it could be mapped to
refs/remotes/origin/../../configduring a clone or fetch operation.This vulnerability affects filesystem-backed repositories using the
storage/filesystempackage and itsdotgitreference storage. Users relying exclusively on the in-memory storage implementation,storage/memory, are not affected, because reference names are not resolved as filesystem paths.Exploitation requires an application using
go-gitwith filesystem-backed storage to interact with a malicious Git server or otherwise process attacker-controlled reference names.Patches
The issue has been addressed by validating reference names at the
dotgitstorage entry points and rejecting names whose resolved paths could escape the reference storage.Users of filesystem-backed storage should upgrade to a patched version.
Workarounds
Applications that exclusively use
storage/memoryare not affected and do not require a workaround for this vulnerability.For applications using filesystem-backed storage, avoid cloning from or fetching from untrusted Git servers until an upgrade is possible.
Applications that directly construct or process reference names may also validate them before passing them to filesystem-backed
go-gitstorage. Application-level validation should only be considered a temporary mitigation and does not replace upgrading to a patched version.References
Credits
Thanks to @Saku0512 for reporting this issue and @Sahana2524 for proposing the initial fix. 🙇
Severity
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:H/A:LReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
go-git/go-git (github.com/go-git/go-git/v5)
v5.19.2Compare Source
What's Changed
Full Changelog: go-git/go-git@v5.19.1...v5.19.2
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.