CVE-2026-53584
Received
Received - Intake
Path Traversal in libgit2 Submodule Handling
Vulnerability report for CVE-2026-53584, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.
Publication date: 2026-08-20
Last updated on: 2026-08-20
Assigner: GitHub, Inc.
Description
Description
libgit2 is a portable C implementation of the Git core methods provided as a linkable library with a solid API, allowing to build Git functionality into your application. Prior to 1.8.6 and 1.9.5, libgit2 does not reject traversal components in a submodule path loaded from .gitmodules. The affected src/libgit2/submodule.c paths include git_submodule_lookup and git_submodule_add_setup. A crafted repository can specify a path such as ../escape-target, and applications that initialize the submodule can create directories outside the repository working tree. This issue is fixed in versions 1.8.6 and 1.9.5.
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| libgit2 | libgit2 | 1.8.6 |
| libgit2 | libgit2 | 1.9.5 |
| libgit2 | libgit2 | to 1.8.6 (exc) |
| libgit2 | libgit2 | to 1.9.5 (exc) |
| libgit2 | libgit2 | to 1.8.6 (inc) |
| libgit2 | libgit2 | to 1.9.5 (inc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-22 | The product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory. |