当凭证与 `<nix/fetchurl.nix>` 一起使用时发生凭证泄漏(CVE-2024-47174)

CVE编号

CVE-2024-47174

利用情况

暂无

补丁情况

N/A

披露时间

2024-09-27
漏洞描述
关于Nix的描述如下:Nix是一个用于Linux和其他Unix系统的包管理器。在版本从1.11到低于版本2.18.8和低于版本2.24.8之间,`<nix/fetchurl.nix>`在处理HTTPS连接时未验证TLS证书。这可能导致在遭受中间人攻击(MITM)的情况下,连接详细信息(如完整URL或凭据)泄露。`<nix/fetchurl.nix>`也被称为内置派生构建器`builtin:fetchurl`。请注意不要与评估时函数`builtins.fetchurl`混淆,此问题并未影响该函数。如果用户具有用于身份验证的`netrc`文件,或者依赖于设置`impureEnvVars`以使用环境凭据的派生项,则他们面临泄露凭据的风险。此外,常见的首次使用信任(TOFU)技术通过指定无效哈希并从远程存储中获取它,也容易受到MITM攻击而注入任意存储对象。这也适用于不纯派生项的试验功能。请注意,在使用Nixpkgs获取新哈希而不使用假哈希方法时也可能发生这种情况,尽管该机制不是在Nix本身中实现,而是在使用固定输出派生的Nixpkgs中实现。这种行为在版本1.11中被引入,目的是使它与Nixpkgs的`pkgs.fetchurl`保持一致,并使`<nix/fetchurl.nix>`在派生构建器沙箱中工作,当时沙箱默认无法访问CA捆绑包。如今,CA捆绑包已在Linux上进行绑定挂载。这个问题已在Nix 2.18.8和2.24.8中得到修复。作为解决方案,请使用Nixpkgs中的`pkgs.fetchurl`实现(经过身份验证的)获取,并根据需要设置`impureEnvVars`和`curlOpts`。
解决建议
建议您更新当前系统或软件至最新版,完成漏洞的修复。
CVSS3评分
N/A
  • 攻击路径
    N/A
  • 攻击复杂度
    N/A
  • 权限要求
    N/A
  • 影响范围
    N/A
  • 用户交互
    N/A
  • 可用性
    N/A
  • 保密性
    N/A
  • 完整性
    N/A
CWE-ID 漏洞类型
CWE-287 认证机制不恰当
阿里云安全产品覆盖情况