GitHub Advisoryadvisory · Go

GHSA-449p-3h89-pw88 Maliciously crafted Git server replies can lead to path traversal and RCE on go-git clients

CRITICAL Published 2024-01-10 Modified 2025-01-06 Official page ↗
Aliases
CVE-2023-49569
Ecosystem
Go
Packages
github.com/go-git/go-git/v5, gopkg.in/src-d/go-git.v4
Severity
Critical
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Weaknesses
CWE-22
Reviewed
2024-01-10

Affected packages

• Go github.com/go-git/go-git/v5: >= 5.0.0, < 5.11.0 → fixed in 5.11.0 • Go gopkg.in/src-d/go-git.v4: >= 4.0.0, <= 4.13.1 (no fix yet)

Description

Impact A path traversal vulnerability was discovered in go-git versions prior to `v5.11`. This vulnerability allows an attacker to create and amend files across the filesystem. In the worse case scenario, remote code execution could be achieved. Applications are only affected if they are using the ChrootOS, which is the default when using "Plain" versions of Open and Clone funcs (e.g. PlainClone). Applications using BoundOS or in-memory filesystems are not affected by this issue. This is a `go-git` implementation issue and does not affect the upstream `git` cli. Patches Users running versions of `go-git` from `v4` and above are recommended to upgrade to `v5.11` in order to mitigate this vulnerability. Workarounds In cases where a bump to the latest version of `go-git` is not possible in a timely manner, we recommend limiting its use to only trust-worthy Git servers. Credit Thanks to Ionut Lalu for responsibly disclosing this vulnerability to us.

Related

Alias · CVE (1)

  • CVE-2023-49569 A path traversal vulnerability was discovered in go-git versions prior to v5.11. vulnerability

Weakness · CWE (1)

  • CWE-22 Improper Limitation of a Pathname to a Restricted Directory weakness

References