CVE-2026-45022: go-git signature verification bypass via malformed object parsing

CVE-2026-45022 · Severity: high · CVSS 4 · Published 2026-05-27

go-git is a library used by developers to interact with Git repositories in the Go programming language. A vulnerability in how it handles malformed data could allow an attacker to trick the system into verifying a digital signature for a commit that has actually been modified. This could lead to the acceptance of unauthorized code changes or falsified author information in software development workflows.

Technologies: github.com/go-git/go-git/v5 (Go), github.com/go-git/go-git/v6 (Go), Go-Git. Vendors: Go, Go-Git.

Quick answers

Is CVE-2026-45022 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-45022 being exploited in the wild.
How severe is CVE-2026-45022?
High severity, with a CVSS score of 4, published 27 May 2026.
Which products and versions are affected?
github.com/go-git/go-git/v5 (Go) < 5.19.0, SEMVER:introduced=0,fixed=5.19.0; github.com/go-git/go-git/v6 (Go) >= 6.0.0-alpha.1, <= 6.0.0-alpha.2, SEMVER:introduced=6.0.0-alpha.1,fixed=6.0.0-alpha.3; Go-Git < 5.19.0.
Is there a fix for CVE-2026-45022?
Yes. github.com/go-git/go-git/v5 (Go): upgrade to 5.19.0 or later; github.com/go-git/go-git/v6 (Go): upgrade to 6.0.0-alpha.3 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-45022 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-45022?
Check whether you run github.com/go-git/go-git/v5 (Go), github.com/go-git/go-git/v6 (Go) or Go-Git at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • github.com/go-git/go-git/v5 (Go): upgrade to 5.19.0 or later
    go get github.com/go-git/go-git/v5@v5.19.0
  • github.com/go-git/go-git/v6 (Go): upgrade to 6.0.0-alpha.3 or later
    go get github.com/go-git/go-git/v6@v6.0.0-alpha.3

Technical details

The vulnerability arises from go-git's improper parsing of malformed Git commit or tag objects, which differs from the behavior of the standard Git implementation. Specifically, go-git's signing and verification logic operates on reconstructed data from its internal parsed representation rather than the original raw bytes. An attacker can craft objects with ambiguous or malformed headers that go-git interprets differently than upstream Git. This discrepancy allows for a signature to appear valid even if the displayed metadata (like author or commit message) differs from what was originally signed. The issue is fixed in versions 5.19.0 and 6.0.0-alpha.3.

Affected products

  • go-git go-git/v5 < 5.19.0
  • go-git go-git/v6 >= 6.0.0-alpha.1, <= 6.0.0-alpha.2

Identifiers

  • CVE-2026-45022
  • GHSA-389r-gv7p-r3rp
  • GO-2026-5074

Timeline

  • 2026-05-06: disclosed
  • 2026-05-11: advisory

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.