简介
远程 Debian 主机上缺少一个或多个与安全性相关的更新。
描述
远程 Debian 10 主机上安装的多个程序包受到 dsa-4950 公告中提及的多个漏洞影响。
- 在 2.6.18、2.7.12 和 2.8.2 之前版本中实施 Ansible 模板的方式中发现一个缺陷,此缺陷可能通过非预期变量替换造成信息泄露。通过利用非预期变量替换,可能泄露任何变量的内容。
(CVE-2019-10156)
- ansible-playbook -k 和 ansible cli tools、所有 2.8.4 之前的 2.8.x 版本、所有 2.7.13 之前的 2.7.x 以及所有 2.6.19 之前的 2.6.x,均可通过从模板扩展密码来提示密码,因为它们可能包含特殊字符。应封装密码,以防止模板触发和泄露密码。(CVE-2019-10206)
在 Ansible 中,ansible-engine 2.8.5、ansible-engine 2.7.13、ansible-engine 2.6.19 之前的所有 Ansible Engine 版本均在调试级别登录,如果插件使用的库记录了调试级别的凭据,此操作会导致凭据泄露。此缺陷不会影响 Ansible 模块,因为这些模块在单独进程中执行。(CVE-2019-14846)
- 当使用 Sumologic 和 Splunk 回调插件将任务结果事件发送到收集器时,2.9.1 之前的 2.9.x、2.8.7 之前的 2.8.x、2.7.15 之前的 2.7.x Ansible 版本未遵守将 no_log 设置为 True 的标记。这会泄露和收集任何敏感数据。(CVE-2019-14864)
- 在 Ansible Community 模块的 solaris_zone 模块中发现一个缺陷。在 Solaris 主机上设置区域名称时,可以通过在远程计算机上使用“ps”bare 命令列出进程来检查区域名称。攻击者可通过构建区域名称并在远程主机中执行任意命令,来利用此缺陷。Ansible Engine 2.7.15、2.8.7 和 2.9.2 以及之前的版本会受到影响。(CVE-2019-14904)
- 将 ansible_facts 用作其自身的子项,并在启用注入时将其升级为变量时,分别在 Ansible Engine 2.7.x、2.8.x 、2.7.17 之前的 2.9.x、2.8.9 和 2.9.6 版本中发现一个缺陷,此缺陷可在清理后覆盖 ansible_facts。攻击者可通过更改 ansible_facts(例如 ansible_hosts、users 和任何其他可导致特权提升或代码注入的关键数据)来利用此问题。(CVE-2020-10684)
- 在 Ansible Engine 中发现一个缺陷,当使用可解密 assemble、script、unarchive、win_copy、aws_s3 或 copy 模块等 Vault 文件的模块时,此缺陷会影响 2.7.17 之前的 2.7.x、2.8.11 之前的 2.8.x、2.9.7 之前的 2.9.x Ansible Engine 版本,以及 3.4.5、3.5.5、3.6.3 (含)之前的 Ansible Tower 版本。在 /tmp 中创建的临时目录未加密 s ts。在 /tmp 不是 tmpfs、而是根分区一部分的操作系统中,仅在启动时清除目录,在主机关闭时解密 emains。若系统未运行,系统将容易遭受攻击。因此,必须尽快清除解密的数据,以及通常加密的数据。(CVE-2020-10685)
- 在 Ansible 中使用不充分的随机值时发现一个缺陷。相同长度的两个随机密码查找会生成与同一文件的模板缓存操作相等的值,这是因为没有发生重新求值行为。此漏洞最主要的威胁对象是文件的所有密码会立即暴露。此缺陷会影响 2.9.6 之前的 Ansible Engine 版本。(CVE-2020-10729)
- 使用 uri 模块时,在 Ansible 中发现一个不当输出中和缺陷,其中敏感数据会暴露给内容和 json 输出。此缺陷让攻击者可以访问已执行任务的日志或输出,以从 uri 模块内的其他用户那里读取 playbook 中使用的密钥。此漏洞最主要的威胁对象是数据机密性。(CVE-2020-14330)
- 使用 module_args 时,在 Ansible Engine 中发现一个缺陷。通过检查模式 (--check-mode) 执行的任务未正确中和事件数据中暴露的敏感数据。此缺陷允许未经授权的用户读取此数据。此漏洞最主要的威胁对象是机密性。
(CVE-2020-14332)
- 使用 dnf 模块安装程序包时,在 Ansible Engine 中发现一个缺陷,相关版本为 2.8.15 之前的 ansible-engine 2.8.x 和 2.9.13 之前的 ansible-engine 2.9.x。即使将 disable_gpg_check 设置为 False(默认行为),也会在安装期间忽略 GPG 签名。此缺陷会导致在系统上安装恶意程序包,以及通过程序包安装脚本执行任意代码。此漏洞最主要的威胁对象是完整性和系统可用性。
(CVE-2020-14365)
- 在以非特权 become 用户身份运行 playbook 时,在 Ansible Engine 2.7.17 及之前版本、2.8.9 及之前版本、2.9.6 及之前版本中发现一个争用条件缺陷。当 Ansible 需要以 become 用户身份运行模块时,系统会在 /var/tmp 中创建临时目录。此目录使用 umask 77 && mkdir -p dir 创建;如果该目录已存在且为其他用户所有,则此操作不会失败。由于可通过迭代“/proc//cmdline”来检索目标目录,攻击者可利用该漏洞来获得 become 用户的控制权。(CVE-2020-1733)
- 使用 fetch 模块时,在 Ansible Engine 中发现一个缺陷。攻击者可拦截该模块,注入新路径,然后在控制器节点上选择新的目标路径。2.7.x、2.8.x 和 2.9.x 分支中的所有版本均被认为易受攻击。(CVE-2020-1735)
在借助 svn 模块的“password”参数设置密码时,在 Ansible 2.7.16 及之前版本、2.8.8 及之前版本和 2.9.5 及之前版本中发现一个缺陷,该密码用于 svn 命令行,进而泄露给同一节点内的其他用户。攻击者可通过从 procfs 上的特定 PID 读取 cmdline 文件来利用该缺陷。(CVE-2020-1739)
- 在使用 Ansible Vault 编辑加密文件时,在 Ansible Engine 中发现一个缺陷。当用户执行 ansible-vault edit 时,同一计算机上的其他用户可以读取新旧密码,因为该密码是在包含 mkstemp 的临时文件中创建的,返回的文件描述符已关闭,并且系统会调用 write_data 方法来写入文件中的现有密码。此方法会以不安全方式在重新创建文件之前将其删除。2.7.x、2.8.x 和 2.9.x 分支中的所有版本均被认为易受攻击。
(CVE-2020-1740)
- 在 Ansible Engine 中发现一个缺陷,在使用 ldap_attr 和 ldap_entry 社区模块时,此缺陷会影响 2.7.17 之前的 2.7.x、2.8.11 之前的 2.8.x、2.9.7 之前的 2.9.x Ansible Engine 版本,以及 3.4.5、3.5.5、3.6.3(含)之前的 Ansible Tower 版本。如果使用参数字段中的 bind_pw 编写 playbook 任务,则该问题会将 LDAP 绑定密码泄露给 stdout 或日志文件。此漏洞最主要的威胁对象是数据机密性。(CVE-2020-1746)
- 使用 k8s 模块管理 kubernetes 时,在 Ansible Engine、2.7.17 之前的所有 Ansible 2.7.x 版本、2.8.11 之前的所有 Ansible 2.8.x 版本和 2.9.7 之前的所有 Ansible 2.9.x 版本中发现一个安全缺陷。将密码和标记等敏感参数从命令行传递到 kubectl,不使用环境变量或输入配置文件。这将泄露进程列表中的密码和标记,调试模块中的 no_log 指令不会对在 stdout 和日志文件中泄露这些机密产生任何影响。(CVE-2020-1753)
- 当使用 basic.py 模块的子选项功能时,在 Ansible Engine 2.9.18 中发现一个缺陷,其中敏感信息默认未屏蔽且不受 no_log 功能保护。此缺陷让攻击者可以获取敏感信息。此漏洞最主要的威胁对象是机密性。(CVE-2021-20228)
请注意,Nessus 尚未测试此问题,而是只依据应用程序自我报告的版本号进行判断。
解决方案
升级 ansible 程序包。
对于稳定发行版本 (buster),这些问题已在 2.7.7+dfsg-1+deb10u1 版本中修复。
插件详情
文件名: debian_DSA-4950.nasl
代理: unix
支持的传感器: Frictionless Assessment Agent, Nessus Agent, Agentless Assessment, Continuous Assessment, Nessus
风险信息
矢量: CVSS2#AV:L/AC:L/Au:N/C:N/I:C/A:C
矢量: CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
时间矢量: CVSS:3.0/E:P/RL:O/RC:C
漏洞信息
CPE: cpe:/o:debian:debian_linux:10.0, p-cpe:/a:debian:debian_linux:ansible-doc, p-cpe:/a:debian:debian_linux:ansible
必需的 KB 项: Host/local_checks_enabled, Host/Debian/release, Host/Debian/dpkg-l
易利用性: Exploits are available
参考资料信息
CVE: CVE-2019-10156, CVE-2019-10206, CVE-2019-14846, CVE-2019-14864, CVE-2019-14904, CVE-2020-10684, CVE-2020-10685, CVE-2020-10729, CVE-2020-14330, CVE-2020-14332, CVE-2020-14365, CVE-2020-1733, CVE-2020-1735, CVE-2020-1739, CVE-2020-1740, CVE-2020-1746, CVE-2020-1753, CVE-2021-20228
IAVB: 2019-B-0092-S, 2020-B-0016-S, 2020-B-0073-S, 2021-B-0013-S