CVE-2026-78675: External Control of File Name or Path in gitpython-developers GitPython
Description
GitPython before 3.1.59 fails to disable merge_includes when parsing .gitmodules, allowing attackers to disclose local file content by including arbitrary file paths via [include] directives. Attackers can craft a malicious .gitmodules file with include directives pointing to sensitive files; when repo.submodules is accessed, GitConfigParser raises MissingSectionHeaderError embedding the target file's first line verbatim in the exception message.
CVSS v4.0
Score 8.6high
Affected software
gitpython-developers
GitPython
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
GitPython versions prior to 3.1.59 have a vulnerability in the submodule configuration parser (`Submodule._config_parser()`) where the `merge_includes` option is enabled by default. This allows an attacker controlling the `.gitmodules` file in a cloned repository to specify an `[include]` directive pointing to arbitrary local files (absolute or relative paths). The parser reads these files without containment checks, and if the included file is not a valid git config file, it raises a `MissingSectionHeaderError` exception. The exception message includes the first line of the included file verbatim, causing local file content disclosure. This occurs during common read-only operations such as enumerating submodules (`repo.submodules`), requiring no submodule update or checkout. The root cause is a parity gap where the config parser used for writing disables `merge_includes`, but the one used for reading `.gitmodules` does not. This vulnerability has a CVSS 4.0 score of 8.6 (high severity).
Potential Impact
An attacker who can supply a malicious `.gitmodules` file in a cloned repository can cause GitPython to disclose the first line of arbitrary local files on the victim's system. This occurs during normal read-only operations such as listing submodules, without requiring any write or update actions. The disclosed information appears in exception messages, which may be logged or displayed by applications using GitPython, potentially leaking sensitive information such as system configuration or credentials.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until an official fix is available, avoid processing untrusted repositories with GitPython versions prior to 3.1.59, or modify the code to disable `merge_includes` when parsing `.gitmodules`. Monitor vendor communications for updates and apply official patches once released.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- VulnCheck
- Date Reserved
- 2026-08-25T01:17:12.262Z
- Cvss Version
- 4.0
- State
- PUBLISHED
Threat ID: 6a8cf57bacd9273b498428b2
Added to database: 08/25/2026, 01:52:59 UTC
Last enriched: 09/18/2026, 01:53:18 UTC
Last updated: 10/08/2026, 18:48:48 UTC
Views: 113
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.