GitHub Advisoryadvisory · Go

GHSA-m3xc-h892-ggx6 go-billy: Lack of depth and cycle detection in symlink resolution may lead to infinite loops and resource exhaustion

MEDIUM Published 2026-05-13 Modified 2026-06-09 Official page ↗
Aliases
CVE-2026-44740
Ecosystem
Go
Packages
github.com/go-git/go-billy/v5, github.com/go-git/go-billy/v6
Severity
Moderate
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Weaknesses
CWE-674, CWE-835
Reviewed
2026-05-13

Affected packages

• Go github.com/go-git/go-billy/v5: < 5.9.0 → fixed in 5.9.0 • Go github.com/go-git/go-billy/v6: < 6.0.0-alpha.1 → fixed in 6.0.0-alpha.1

Description

Impact Multiple components may improperly handle crafted or malformed input, resulting in panics, infinite loops, uncontrolled recursion, or excessive resource consumption. These issues arise from insufficient validation and missing safety mechanisms such as cycle detection, recursion limits, or defensive handling of unexpected states when processing untrusted repository data and filesystem structures. 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-billy` version. Credits Thanks to @faran66 for finding and reporting this issue privately to the go-git project. 🙇

Related

Alias · CVE (1)

  • CVE-2026-44740 Billy is an interface filesystem abstraction for Go. vulnerability

Weakness · CWE (2)

  • CWE-674 Uncontrolled Recursion weakness
  • CWE-835 Loop with Unreachable Exit Condition weakness

References