Skip to content
Heist/ feed
Back to feed
Medium

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

Type: advisorySources: OSV

Billy is an interface filesystem abstraction for Go. Prior to versions 5.9.0 and 6.0.0-alpha.1, 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. This issue has been patched in versions 5.9.0 and 6.0.0-alpha.1.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-44740
Confirmed fixed CVEs
Not specified
Updated in this feed
8 Nov 2026, 01:17 UTC · Revision 1

Source evidence

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

core-osv · Original source

Published 1 Jun 2026, 16:04 UTC

Billy is an interface filesystem abstraction for Go. Prior to versions 5.9.0 and 6.0.0-alpha.1, 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. This issue has been patched in versions 5.9.0 and 6.0.0-alpha.1.

osv:CVE-2026-44740
Complete source record
{
  "id": "2227d311a3002b22a8312f360ca6675f8b1c972fd2170bcd7842dca58ec74c15",
  "url": "https://osv.dev/vulnerability/CVE-2026-44740",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "go-billy: Lack of depth and cycle detection in symlink resolution may lead to infinite loops and resource exhaustion",
    "summary": "Billy is an interface filesystem abstraction for Go. Prior to versions 5.9.0 and 6.0.0-alpha.1, 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. This issue has been patched in versions 5.9.0 and 6.0.0-alpha.1.",
    "evidence": "osv:CVE-2026-44740",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-44740",
      "aliases": [
        "CVE-2026-44740",
        "GHSA-m3xc-h892-ggx6",
        "GO-2026-5490"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/go-git/go-billy",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "237e529bb8de61704047f71a5ab1c8e6676492f1"
                },
                {
                  "fixed": "13ded9edf4ef0b9f317ad3b432fbd43045754d27"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "5.9.0"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "6.0.0-alpha.1"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "237e529bb8de61704047f71a5ab1c8e6676492f1"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v5.9.0"
                  },
                  {
                    "range": [
                      {
                        "fixed": "13ded9edf4ef0b9f317ad3b432fbd43045754d27"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v6.0.0-alpha.1"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v5.8.0",
            "v5.7.0",
            "v5.6.2",
            "v5.6.1",
            "v5.6.0",
            "v5.5.0",
            "v5.4.1",
            "v5.4.0",
            "v5.3.1",
            "v5.3.0",
            "v5.2.0",
            "v5.1.0",
            "v5.0.0",
            "v4.3.2",
            "v4.3.1",
            "v4.3.0",
            "v4.2.1",
            "v4.2.0",
            "v4.1.1",
            "v4.1.0",
            "v4.0.2",
            "v4.0.1",
            "v4.0.0",
            "v3.1.0",
            "v3.0.1",
            "v3.0.0",
            "v2.0.5",
            "v2.0.3",
            "v2.0.4",
            "v2.0.2",
            "v2.0.0",
            "v1.0.0",
            "v1-alpha"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-44740.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:52.469640504Z",
      "provider": "osv",
      "references": [
        "https://github.com/go-git/go-billy/releases/tag/v5.9.0",
        "https://github.com/go-git/go-billy/releases/tag/v6.0.0-alpha.1",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/44xxx/CVE-2026-44740.json",
        "https://github.com/go-git/go-billy/security/advisories/GHSA-m3xc-h892-ggx6",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-44740"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-674",
          "CWE-835"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/44xxx/CVE-2026-44740.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-44740",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 521269,
  "published_at": "2026-06-01T16:04:50.358+00:00"
}