发现一个影响 systemd 的拒绝服务漏洞

日前,有消息称,调查组 Qualys 发现拒绝服务漏洞 由于 systemd 中的堆栈耗尽,因此任何非特权用户都可以利用此漏洞 阻止systemd。

脆弱性 已编目为 (CVE-2021-33910) 提到它影响systemd是由于尝试通过FUSE挂载路径大小大于8MB的目录时失败导致控制初始化进程(PID1)耗尽堆栈内存并被锁定,导致系统处于“恐慌”状态。

该漏洞由 systemd v220(2015 年 7410616 月)的 commit XNUMXc(“内核:返工单元名称操作和验证逻辑”)引入,该漏洞将堆上的 strdup() 替换为电池中的 strdupa()。 成功利用此漏洞允许任何非特权用户通过内核恐慌导致拒绝服务。

Qualys 研究团队确认该漏洞后,Qualys 立即参与了该漏洞的负责任披露,并与作者和开源发行版协调发布该漏洞。

研究人员提到 问题 与 CVE-2021-33910 相关的原因是 systemd监控并解析/proc/self/mountinfo的内容 它处理 unit_name_path_escape () 函数中的每个挂载点,这会导致执行名为“strdupa ()”的操作,该操作负责在堆栈而不是堆上分配数据。

这就是为什么自从 允许的最大堆栈大小是有限的 通过“RLIMIT_STACK”函数, 处理到挂载点的路径太长会导致“PID1”进程挂起 这导致系统停止。

此外,他们提到要使攻击发挥作用,最简单的 FUSE 模块可以结合使用高度嵌套的目录作为挂载点,其路径大小超过 8 MB。

值得一提的是,Qualys 研究人员 提到一个特定的案例 脆弱,因为 特别是对于 systemd 248 版,该漏洞无法正常工作 由于 systemd 代码中存在导致 /proc/self/mountinfo 失败的错误。 同样有趣的是,2018 年也出现了非常相似的情况,因为在尝试编写 Linux 内核中的 CVE-2018-14634 漏洞的漏洞利用程序时,Qualys 研究人员在 systemd 中发现了另外三个关键漏洞。

关于漏洞 提到红帽团队 任何符合 RHEL 标准的产品也可能受到影响。

这包括:

  • 基于 RHEL 或 UBI 容器镜像的产品容器。 这些镜像会定期更新,并且可以在容器健康指数(Red Hat Container Catalog(https://access.redhat.com/containers)的一部分)中查看容器状态,该状态表明该缺陷是否有可用的修复程序.
  • 从 RHEL 渠道拉取软件包的产品。 确保底层 Red Hat Enterprise Linux systemd 软件包在这些产品环境中是最新的。

由于此漏洞的攻击面广泛, Qualys 建议用户应用适当的补丁 (几天前已经发布了)立即针对此漏洞。

如前所述,该问题自 systemd 220(2015 年 XNUMX 月)以来就出现了 已经修复 的主要存储库 systemd 并已在大多数发行版中修复 Linux main 及其衍生版本,您可以在以下链接中查看状态(Debian的, Ubuntu的, Fedora的, RHEL,SUSE, ).

最后, 如果您有兴趣了解更多有关它的信息 关于这个漏洞,你可以查看它的详细信息 在下面的链接中。


本文内容遵循我们的原则 编辑伦理。 要报告错误,请单击 信息.

成为第一个发表评论

发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。