Web Application
CVE-2026-78675 high CVSS 8.4

Vulnerability in gitpython (CVE-2026-78675)

Summary

Vulnerability in gitpython (CVE-2026-78675). Successful exploitation can lead to full system takeover. Exploitable via SubmoduleConfigParser. Mitigation: upgrade to >= 3.1.59 or later.

Original description

The description as published by the source.

[HIGH] Arbitrary local file content disclosure via [include] directive in untrusted .gitmodules (SubmoduleConfigParser never disables merge_includes)

  • CWE: CWE-200 (Exposure of Sensitive Information) / CWE-73 (External Control of File Name or Path)
  • Affected component: git/objects/submodule/base.py, Submodule._config_parser() (~line 273) constructing SubmoduleConfigParser(fp_module, read_only=read_only); git/config.py, GitConfigParser.__init__ (merge_includes default), GitConfigParser.read()/_included_paths() (include-path resolution, ~lines 630-685), GitConfigParser._read() (~line 493-498, MissingSectionHeaderError)
  • Affected version: GitPython at HEAD (9729ed3b948f2bde09f1f188c5311e172212b67e, 2026-08-05, VERSION 3.1.58)

Reachability

GitConfigParser.__init__ defaults merge_includes=True: any config file it parses has its [include] (and, when a repo= is supplied, [includeIf ...]) directives followed and merged in. The maintainers already recognized this as dangerous for one specific case and fixed it in commit 41ecc6a4 ("Disable merge_includes in config writers"), which passes merge_includes=False when Repo.config_writer() builds its parser (git/repo/base.py).

That fix never touched Submodule._config_parser(). This method builds the parser used for every read of a repo's submodule configuration — repo.submodules, Submodule.iter_items(), Submodule.config() — via `SubmoduleConfigParser(fp_modu…

Source: NIST National Vulnerability Database NVD GitHub Advisory

AI summary

Written by an external AI model and may contain mistakes. Check the original description and references below before acting on it.

GitPythonのバージョン3.1.59以前には、.gitmodulesファイルの解析時にmerge_includesが無効化されないという脆弱性があります。攻撃者は任意のファイルパスを含む.gitmodulesを使用して、ローカルファイルの内容を開示する可能性があります。この問題により、攻撃者はリポジトリ内の敏感な情報にアクセスすることが可能です。

❓ What is the problem

.gitmodulesの解析時にmerge_includesが無効化されない脆弱性

📍 Affected scope

GitPythonバージョン3.1.59以前

🔥 Severity

攻撃者が任意のファイルパスを含めることで、ローカルファイルの内容が開示される可能性があります。重要な情報が漏洩するリスクがあります。

🔧 How to fix

GitPythonをバージョン3.1.59に更新してください。

🛡️ Workaround

該当の.gitmodulesファイルを手動で確認し、信頼できないincludeディレクティブを削除する。

🔍 Detection

リポジトリ内の.gitmodulesファイルに信頼できないincludeディレクティブが含まれていないか確認する。

Affected packages

pip gitpython
[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.1.59"}]}]

References

We use cookies for analytics and ad measurement. This setting applies to all Game co., Ltd. sites. Details