libgit2 v0.26.4 已发布,这是一次修复安全问题的更新,修复了子模块名称验证不足的问题(CVE-2018-11235)。
当子模块名称来自不可信的 ".gitmodules" 文件时,我们将名称追加到$GIT_DIR/模块中,以构建子模块存储库的最终路径。如果名称包含例如../的字符,攻击者将能够以任意路径写入数据。按照 git 的指导,我们现在为子模块名称强制执行一些规则,这会使得 libgit2 忽略这些恶意名称。
libgit2 不受 CVE-2018-11233 的影响。