CVE-2026-44243GitPython是一个用于与Git仓库交互的Python库。在3.1.48版本之前,该组件存在一个严重的安全漏洞。由于在引用创建、重命名和删除操作中对引用路径的验证不足,攻击者若能向使用GitPython的应用程序提供精心设计的引用路径,即可绕过安全限制。这使得攻击者能够在仓库.git目录之外写入、覆盖、移动或删除任意文件,破坏系统完整性。该问题已在3.1.48版本中被修复。
该漏洞源于GitPython在处理Git引用路径时缺乏严格的输入验证。Git引用通常指向提交对象,存储在.git/refs/目录下。然而,攻击者可以利用路径遍历序列(如../)构造恶意的引用名称。当应用程序尝试创建、重命名或删除这些引用时,GitPython未能正确解析路径边界,导致操作扩展到.git目录之外。具体而言,攻击者可以利用文件系统操作符号(如..)或绝对路径,将引用指向系统中的任意位置。由于GitPython以运行应用程序的用户权限执行文件操作,这允许攻击者覆盖关键配置文件、删除系统文件或写入恶意数据。虽然攻击需要本地访问权限和低权限用户上下文,但结合其他攻击手段,可能导致权限提升或系统破坏。CVSS向量显示其对完整性和可用性影响极高。