Skip to content

Update module github.com/go-git/go-git/v6 to v6.0.0-alpha.5 [SECURITY] - #573

Merged
pulumi-renovate[bot] merged 1 commit into
masterfrom
renovate/security
Aug 24, 2026
Merged

Update module github.com/go-git/go-git/v6 to v6.0.0-alpha.5 [SECURITY]#573
pulumi-renovate[bot] merged 1 commit into
masterfrom
renovate/security

Conversation

@pulumi-renovate

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
github.com/go-git/go-git/v6 v6.0.0-alpha.4v6.0.0-alpha.5 age confidence

go-git: Worktree operations may follow symlinks

CVE-2026-71556 / GHSA-hc8v-wwc9-vgxm

More information

Details

Impact

A symlink traversal issue in go-git could allow worktree operations to modify files outside the intended worktree path.

The worktreeFilesystem wrapper 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 s is a symbolic link to .git, writing to s/config would modify .git/config.

A symbolic link at the final path component could also be followed. For example, if s points directly to .git/config, opening s for 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/memory for their Storer, or go-billy/memfs for their Worktree, 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 Score: 7.1 / 10 (High)
  • Vector String: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:L

References

This data is provided by OSV and 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-git could 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 as refs/heads/../../config could therefore resolve to unrelated repository metadata such as .git/config or .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/../../config during a clone or fetch operation.

This vulnerability affects filesystem-backed repositories using the storage/filesystem package and its dotgit reference 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-git with 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 dotgit storage 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/memory are 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-git storage. 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 Score: 6.3 / 10 (Medium)
  • Vector String: CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:H/A:L

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/v6)

v6.0.0-alpha.5

Compare Source

What's Changed
New Contributors

Full Changelog: go-git/go-git@v6.0.0-alpha.4...v6.0.0-alpha.5


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • Monday through Friday (* * * * 1-5)

🚦 Automerge: Enabled.

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 Mend Renovate.

@pulumi-renovate
pulumi-renovate Bot requested a review from a team as a code owner August 24, 2026 08:11
@pulumi-renovate pulumi-renovate Bot added dependencies Pull requests that update a dependency file impact/no-changelog-required This issue doesn't require a CHANGELOG update labels Aug 24, 2026
@pulumi-renovate
pulumi-renovate Bot enabled auto-merge (squash) August 24, 2026 08:11
@pulumi-renovate

Copy link
Copy Markdown
Contributor Author

ℹ️ Artifact update notice

File name: tests/smoke/testprovider/go.mod

In order to perform the update(s) described in the table above, Renovate ran the go get command, which resulted in the following additional change(s):

  • 1 additional dependency was updated

Details:

Package Change
github.com/go-git/go-billy/v6 v6.0.0-alpha.1 -> v6.0.0-alpha.2

@pulumi-renovate
pulumi-renovate Bot merged commit 5583d00 into master Aug 24, 2026
19 checks passed
@codecov

codecov Bot commented Aug 24, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 79.30%. Comparing base (a27c846) to head (1d3424a).

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #573      +/-   ##
==========================================
+ Coverage   79.26%   79.30%   +0.04%     
==========================================
  Files          93       93              
  Lines       19501    19501              
==========================================
+ Hits        15457    15465       +8     
+ Misses       2822     2816       -6     
+ Partials     1222     1220       -2     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@pulumi-renovate
pulumi-renovate Bot deleted the renovate/security branch August 24, 2026 08:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file impact/no-changelog-required This issue doesn't require a CHANGELOG update

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants