随着版本的不断优化迭代,操作系统有 Bug 在所难免。一般来说,仅靠操作系统内部运维团队,很难确保能将系统内的 Bug“一扫而空”,因此多数情况下他们也需依靠外部的“群众力量”。
这不,前几天微软就揭露了几个会影响许多 Linux 发行版的提权漏洞,漏洞编号是 CVE-2022-29799 和 CVE-2022-29800,微软将其统称为 Nimbuspwn,还为此写了一篇长文详细介绍漏洞原理。
对于微软的此番行为,The Register 网站作者 Jeff Burt 也写了一篇文章《微软冲着 Linux 大喊:快看,你这也有提权漏洞!》,吐槽道:“微软费尽心思写了一篇大长文,还给这些漏洞起了一个吸引人的名字 Nimbuspwn。可是,Windows 每个月也修复了不少提权漏洞,怎么不见微软对自家操作系统的漏洞也这样‘上心’?”
根据微软发布的漏洞文章表示,本次发现的 Linux 提权漏洞 Nimbuspwn,是在 systemd 中一个名为 networked-dispatcher 的组件中发现的——该组件存在于许多 Linux 发行版中,主要负责调度网络状态变化,并根据新状态选择执行不同脚本。
“有趣的是,它(networked-dispatcher)在启动时是以 root 权限运行的。”Microsoft 365 Defender 研究团队成员 Jonathan Bar Or 在文章中写道。
在仔细审查 networkd-dispatcher 的代码流后,微软研究人员发现其中有一个步骤为“ _run_hooks_for_state ”,它会根据检测到的网络状态运行脚本:首先,通过调用“ get_script_list ”(以字符串形式获取新状态)发现脚本列表;然后,对脚本列表进行排序;最后,使用 subprocess.Popen 运行脚本,同时提供自定义环境变量。
对此,微软研究人员认为,“ _run_hooks_for_state ”这个环节存在三个安全漏洞:目录遍历、符号链接竞争和检查时间/使用时间竞争条件漏洞——这些漏洞均可被攻击者用于提权、部署恶意软件或执行其他恶意活动。
Jonathan Bar Or 举了个例子:在检查时间/使用时间竞争条件下,查找脚本和运行脚本之间存在一定时间差,在此过程中,攻击者就可以利用这个漏洞,将原本 networkd-dispatcher 认为属于 root 的脚本替换为不属于 root 的脚本。”
在发现这一系列漏洞后,微软安全团队迅速联系了 networkd-dispatcher 的维护者 Clayton Craft,他也在三周前进行了漏洞修复,发布了最新的 networkd-dispatcher 2.2 版本。
而网络安全公司 Viakoo 首席执行官 Bud Broomhead 认为,像 Nimbuspwn 这种存在于组件中的漏洞实际上较难迅速修复:“对 Nimbuspwn 而言,传统的检测和修复解决方案可能并不适用,并且它可能存在于超过 600 多个 Linux 发行版中。它不仅需要用户手动获取并安装补丁,还需要分发管理人员提前发现修复并推出更新。”
Jonathan Bar Or 总结道:“Linux 环境下越来越多的漏洞,体现了对操作系统及其组件扩大监控力度的必要性。”但 The Register 网站作者 Jeff Burt 指出:“微软团队提出的这个 Linux 问题,在 Windows 中也十分常见。”
正如文章开头所说,不论在哪个操作系统中,漏洞总是很难避免——不光是 Linux,近来在 Windows 中被发现的提权漏洞也不在少数:
2020 年,安全研究人员 Abdelhamid Naceri 发现 Windows 提权漏洞 CVE-2021-24084,可影响 Windows 10、Windows 11 和 Windows Server 等多个操作系统;
2021 年,亚信安全 CERT 监测发现 Windows Installer 提权漏洞 CVE-2021-41379;
2021 年,Windows 10 中的提权漏洞 CVE-2021-36934 也被监测到;
今年 1 月,Windows 10 中的本地提权漏洞 CVE-2022-21882 刚被修复。
对此,The Register 网站作者 Jeff Burt 表示,相较于积极分析别家的漏洞,微软安全团队对自家漏洞却甚少报道:
诸多网友也对微软将该漏洞上升到 Linux 系统层面而“打抱不平”:
@Jan K.:“但这个组件与 Linux 没有任何关系啊,因为它不属于内核…而且我发现在 Linux 世界中,发现 Bug 是一件很受欢迎的事;不像我之前在微软工作的那 30 多年,他们只会拒绝并否认漏洞存在,并说‘这只是一个功能缺陷’。”
@AdamWill:“请注意,这个漏洞存在于网络管理器 systemd-networkd 的第三方插件 networkd-dispatcher 中,漏洞也只是因为它的作者没有考虑周全,而这些本身与 Linux 中的 systemd 无关。”
参考链接:
https://www.theregister.com/2022/04/27/microsoft-linux-vulnerability/
https://www.microsoft.com/security/blog/2022/04/26/microsoft-finds-new-elevation-of-privilege-linux-vulnerability-nimbuspwn/
END
— 推荐阅读 —
—点这里↓↓↓记得关注标星哦~—
一键三连 「分享」「点赞」「在看」
成就一亿技术人