从这个网页截图中,可以获取到以下关于漏洞的关键信息: 1. 漏洞名称:gix-path uses local config across repos when it is the highest scope 2. 包名:@gix-path (Rust) 3. 受影响版本范围:= 0.10.10 5. 描述: - gix-path 错误地将本地仓库的配置文件视为全局配置,即使没有更高层次的配置文件。 - 在某些情况下,这可能导致信任较低的仓库被错误地视为更受信任的仓库,从而泄露敏感信息。 6. 代码示例: - gix-path::env 的实现中,使用了 installation_config 和 installation_config_prefix 函数。 - 这些函数调用了 git config -l --show-origin,并解析了输出的第一行以提取配置文件的路径。 7. 漏洞利用: - 通过设置环境变量 GIT_CONFIG_SYSTEM 和 GIT_CONFIG_GLOBAL,可以绕过 gix-path 的检查。 - 这可能导致配置文件被错误地关联到全局配置。 8. PoC: - 通过设置 HTTP 服务器和使用 gix 工具,可以演示如何利用此漏洞。 - 具体步骤包括: 1. 安装 dummyhttp 作为本地 HTTP 服务器。 2. 使用 gix 工具克隆受影响的仓库。 3. 在另一个终端中创建本地仓库并设置 HTTP 头。 4. 使用 gix fetch 检查是否发送了正确的 HTTP 头。 5. 使用环境变量绕过 gix-path 的检查。 9. 影响: - 该漏洞可能允许在不受信任的仓库中泄露敏感信息。 - 在某些情况下,这可能导致信任较低的仓库被错误地视为更受信任的仓库,从而泄露敏感信息。 这些信息可以帮助理解漏洞的性质、影响范围以及如何利用漏洞。