关键信息 漏洞概述 漏洞名称: 通过带有破折号前导的 git URL 参数注入导致本地代码执行 严重性: 低 CVE ID: CVE-2021-43809 影响版本: 修复版本: 包: bundler (RubyGems) 描述 在 版本 中,处理不可信和表面上无害的 时,不应执行外部代码,除非在 内部的 Ruby 代码中有明确的指示。然而,如果 包含使用 选项的 条目并且具有无效但表面上无害的值且以破折号开头,可能会执行任意代码。 利用方式 攻击者需要构造一个包含 的目录,该文件声明一个依赖关系,该依赖关系位于 Git 仓库中。这个依赖关系必须具有 形式的 Git URL,这将被解释为 参数。然后,需要与受害者共享此目录,并在受害者运行诸如 的命令时评估 。 影响 此漏洞可能导致任意代码执行,可能危及系统。然而,由于需要大量的用户交互,可利用性非常低。这仍然可能使使用不受信任文件的开发人员处于风险之中。 修补程序 版本 通过在受影响的 Git 命令的任何位置参数之前插入 来修复此问题。 解决方法 如果用户无法升级,他们应该在运行任何可能读取它们的 命令之前,检查所有不受信任的 ,因为它们可能包含任意 Ruby 代码。 弱点 CWE-88: 参数注入漏洞 参考资料 https://cwe.mitre.org/data/definitions/88.html