CVE-2026-45022

High

Description

go-git is an extensible git implementation library written in pure Go. Prior to 5.19.0 and 6.0.0-alpha.3, 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. This vulnerability is fixed in 5.19.0 and 6.0.0-alpha.3.

SeverityHigh
CVSS7.5
Exploit probability—
ProductGo-git
PublishedMay 27, 2026
First seenMay 27, 2026

How to fix

Update
  • go-git_project go-git5.19.0 or later
  • github.com/go-git/go-git/v66.0.0-alpha.3 or later
  • github.com/go-git/go-git/v55.19.0 or later

Affected products

ProductAffected versionsFixed in
go-git_project go-gitv < 5.19.0, 6.0.05.19.0
github.com/go-git/go-git/v6Go6.0.0-alpha.1 ≤ v < 6.0.0-alpha.36.0.0-alpha.3
github.com/go-git/go-git/v5Gov < 5.19.05.19.0

Check your version

Choose the product and enter the version you run to see whether it falls in the affected range.

In the Intelligence 360 plan

Attack Surface Management

See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.