CVE-2026-45022
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.
Scoring
- Severity
- HIGH
- CVSS base score
- 7
- 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
- EPSS probability
- 0.16%
- CWE
- CWE-180, CWE-345
- Published
- 2026-05-27
- Last modified
- 2026-05-27
Affected products
- go-git go-git
- go-git go-git
Weakness type
Related vulnerabilities
- CVE-2026-82736 — Ash.Type.CiString validates length and match constraints before case folding, allowing constraint bypass
- CVE-2026-82481 — The cohttp package before 6.3.0 for OCaml allows directory traversal.
- CVE-2026-76203 — CSS sanitizer bypass in Pentestify report themes allows forced outbound requests
- CVE-2026-73416 — jupyterlab: PyPI extension blocklist package-name canonicalization bypass
- CVE-2026-73420 — NextAuth.js: Email normalizer validates the address before Unicode normalization, allowing a homoglyph @ bypass
- CVE-2026-72917 — AnythingLLM: Password recovery accepts one recovery code twice after whitespace normalization
- CVE-2026-69246 — Guzzle: Noncanonical host can bypass host-based checks
- CVE-2026-69245 — Guzzle: Noncanonical cookie domain keeps subdomain scope