GitHub Advisoryadvisory · Go

GHSA-389r-gv7p-r3rp go-git's improper parsing of specially crafted objects may lead to inconsistent interpretation compared to upstream Git

HIGH Published 2026-05-11 Modified 2026-06-08 Official page ↗
Aliases
CVE-2026-45022
Ecosystem
Go
Packages
github.com/go-git/go-git/v6, github.com/go-git/go-git/v5
Severity
High
CVSS vector
CVSS:4.0/AV:N/AC:H/AT:N/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:H/SA:N
Weaknesses
CWE-180, CWE-345
Reviewed
2026-05-11

Affected packages

• Go github.com/go-git/go-git/v6: >= 6.0.0-alpha.1, < 6.0.0-alpha.3 → fixed in 6.0.0-alpha.3 • Go github.com/go-git/go-git/v5: < 5.19.0 → fixed in 5.19.0

Description

Impact `go-git` may parse malformed Git objects in a way that differs from upstream Git. When `commit` or `tag` objects contain ambiguous or malformed headers, `go-git`’s decoded representation may expose values differently from how Git itself would interpret or reject the same object. Additionally, `go-git`’s commit signing and verification logic operates over commit data reconstructed from `go-git`’s parsed representation rather than the original raw object bytes. As a result, `go-git` may sign or verify a commit payload that is not byte-for-byte equivalent to the object stored in the repository. This can cause a signature to appear valid for a commit whose displayed or effective metadata differs from the object that was intended to be signed. Patches Users should upgrade to a patched version 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. Credit Thanks to @bugbunny-research (https://bugbunny.ai/) for reporting this to `sigstore/gitsign`, and to @wlynch, @patzielinski and @adityasaky for coordinating the disclosure with the `go-git` project. :bow: :1st_place_medal: Thanks to @wayphinder for reporting this to the `go-git` project. :bow:

Related

Alias · CVE (1)

  • CVE-2026-45022 go-git is an extensible git implementation library written in pure Go. vulnerability

Weakness · CWE (2)

  • CWE-180 Incorrect Behavior Order: Validate Before Canonicalize weakness
  • CWE-345 Insufficient Verification of Data Authenticity weakness

References