跳转到: 导航, 搜索

OSSN/OSSN-0086


Dell EMC ScaleIO/VxFlex OS 后端凭证泄露

总结

当使用 Cinder 与 Dell EMC ScaleIO 或 VxFlex OS 存储后端时,存在此漏洞。

注意:Dell EMC 的“ScaleIO”驱动程序在 Train 版本中被重新命名为“VxFlex OS”。

受影响的服务 / 软件

Cinder / Ocata, Pike, Queens, Rocky, Stein, Train, Ussuri

此漏洞仅在使用 Dell EMC ScaleIO/VxFlexOS 后端与 Cinder 配合使用时适用。其他驱动程序不受影响。

讨论

在使用 Cinder 与 Dell EMC ScaleIO 或 VxFlex OS 后端存储驱动程序时,所有 Block Storage v3 Attachments API 调用中包含的 ``connection_info`` 元素中都会泄露整个后端的凭证。这使得最终用户可以创建一个卷,发出一个 API 调用来显示附件详细信息,并检索可用于连接到其他用户卷的用户名和密码。此外,如果攻击者发现 Management API 端点,这些凭证对于 ScaleIO 或 VxFlex OS Management API 也是有效的。

此问题由 Red Hat 的 David Hill 和 Eric Harney 报告。

建议的操作

解决此问题的步骤如下:

1. 修复 ScaleIO 或 VxFlex OS Cinder 驱动程序,使其在构造 Block Storage v3 Attachments API 响应时不再将密码提供给 Cinder。

2. 修复 os-brick 库中的 ScaleIO 连接器,使其从只能由 root 读取的配置文件中检索密码。(注意:连接器未被重新命名;ScaleIO 和 VxFlex OS 后端都使用“scaleio”os-brick 连接器。)

3. 修复 ScaleIO os-brick 特权文件,该文件允许 scaleio 连接器为特定操作升级权限;这对于允许连接器进程访问只能由 root 读取的配置文件是必要的。

4. 将包含密码(如果适用,还包括复制密码)的配置文件部署到所有计算节点、cinder 节点以及部署中执行卷附件的任何位置。

要刷新数据库信息,应分离并重新连接所有卷。

由于此修复涉及将凭证部署到只能由 root 读取的文件中,因此不适用于将卷附加到裸机主机的用例。因此,不建议将 Dell EMC ScaleIO/VxFlex OS 存储后端用于 Cinder 与裸机主机配合使用。

注意:OpenStack 的 Ocata、Pike、Queens 和 Rocky 分支处于扩展维护阶段。这些分支不再发布点版本,并且仅在合理努力的基础上生成安全补丁。为 Queens 和 Rocky 提供的补丁是一种礼貌。Ocata 和 Pike 的补丁不可用。

补丁

必须同时修补 cinder 和 os-brick。有关必须部署到所有计算节点、cinder 节点以及部署中执行卷附件的任何位置的新配置文件的文档包含在 cinder 补丁中。

注意(添加于 2020-06-18):os-brick 的原始补丁包含一个缺陷 [0],该缺陷阻止了 scaleio 连接器在 Python 2.7 下运行时工作。因此,对于支持 Python 2.7 的 OpenStack 版本(即 Train 及更早版本),需要第二个 os-brick 补丁,如下所示。可用版本列表也已更新以解决此问题。

[0] https://bugs.launchpad.net/os-brick/+bug/1883654

Queens

Rocky

Stein

Train

Ussuri


或者,将尽快为 Stein、Train 和 Ussuri 发布点版本。这些将是

  • Stein: cinder 14.2.0,需要 os-brick 2.8.6
  • Train: cinder 15.3.0,需要 os-brick 2.10.4
  • Ussuri: cinder 16.1.0,需要 os-brick 3.0.2

联系方式 / 参考文献

作者:Brian Rosmaita,Red Hat

此 OSSN:https://wiki.openstack.org/wiki/OSSN/OSSN-0086

原始 LaunchPad Bug:https://bugs.launchpad.net/cinder/+bug/1823200

邮件列表:[Security] 标签在 openstack-discuss@lists.openstack.org 上

OpenStack 安全项目:https://launchpad.net/~openstack-ossg

CVE:CVE-2020-10755