Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-114145— GitPython validates a submodule's ".git" path only after cloning into it (RCE)

Quick assessment

Affected
gitpython-developers GitPython
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

GitPython 是一个用于与 Git 仓库交互的 Python 库。在 3.2.1 版本之前, 中的 函数会接受攻击者可控制的子模块路径(例如 ),并在安全地拒绝目标路径之前先调用 。在 3.1.x 系列版本中,由于不存在 函数,该调用会静默成功;而在 3.2.0 及之后受影响的版本中, 中的检查仅在克隆操作已将内容写入磁盘后才会抛出 异常,且不会删除已植入的文件。因此,攻击者可通过控制子模块路径,植入一个可执行的 钩子脚本,该脚本会在后续的 Git 操作中被执行。 利用此漏洞需要满足以下条件:应用程序接受不可

CVSS 7.5 · High EPSS 0.26% · P17

Affected Version Matrix 1

VendorProduct Version RangeStatus
gitpython-developers GitPython < 3.2.1 affected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-114145

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
GitPython validates a submodule's ".git" path only after cloning into it (RCE)
Source: CVE Program / CVE List V5
Vulnerability Description
GitPython is a python library used to interact with Git repositories. Prior to 3.2.1, create_submodule() in git/objects/submodule/base.py accepts an attacker-influenced submodule path such as .git/hooks and invokes _clone_repo() before safely rejecting the destination. In 3.1.x, _validate_repo_path() does not exist and the call succeeds silently, while in 3.2.0 and later affected revisions the check in git/index/base.py raises ValueError only after the clone has written to disk and does not remove the planted file. An attacker-controlled submodule can therefore place an executable post-checkout hook that a later Git operation executes. Exploitation requires an application to accept an untrusted submodule path and a clone destination such as .git/hooks that is empty enough for Git to clone into it, which commonly means that default sample hooks are absent. This issue is fixed in version 3.2.1.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H
Source: CVE Program / CVE List V5
Vulnerability Type
不正确的行为次序
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
gitpython-developers GitPython < 3.2.1 -

II. Public POCs for CVE-2026-114145

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-114145

请登录查看更多情报信息。

Patches & Fixes for CVE-2026-114145 (1)

Vendor Advisories for CVE-2026-114145 (1)

Vendor Pages for CVE-2026-114145 (1)

IV. Related Vulnerabilities

V. Comments for CVE-2026-114145

No comments yet


Leave a comment