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

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

Published
2026-08-20
Last Modified
2026-08-20
Generated
2026-08-20
AI Q&A
2026-08-20
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 6 associated CPEs
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
CWE Icon
KEV
KEV Icon
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.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

CVE-2026-53584 is a submodule path traversal vulnerability in libgit2 affecting versions prior to 1.9.5 and 1.8.6. It allows a crafted repository to specify a submodule path with traversal components like ../escape-target. When initialized, this can cause the library to create directories outside the intended repository working tree.

Detection Guidance

To detect this vulnerability, check the version of libgit2 in use with commands like 'git --version' or inspect the library version in your application dependencies. Compare it against versions 1.8.6 and 1.9.5. If using a vulnerable version, look for submodule configurations with paths containing traversal components like '../' in .gitmodules files.

Impact Analysis

This vulnerability could allow an attacker to write files outside the intended directory structure by tricking applications using libgit2 into initializing malicious submodules. This may lead to unauthorized file access, data corruption, or potential execution of arbitrary code depending on the application's permissions.

Compliance Impact

This vulnerability could potentially impact compliance with GDPR and HIPAA by enabling unauthorized directory creation outside the repository working tree. For GDPR, this may risk unauthorized data access or modification if sensitive files are involved. For HIPAA, it could lead to exposure of protected health information if exploited in healthcare-related repositories.

Mitigation Strategies

Upgrade libgit2 to version 1.8.6 or 1.9.5 or later. Review and remove any submodule paths with traversal components (e.g., '../') in .gitmodules files. Validate submodule paths during initialization to ensure they remain within the repository working tree.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-53584. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart