近日名为 Nimbuspwn 的漏洞组合被曝光,可以让本地攻击者在 Linux 系统上提升权限,部署从后门到勒索软件等恶意软件。微软的安全研究人员在今天的一份报告中披露了这些问题,并指出它们可以被串联起来,在一个脆弱的系统上获得 root 权限。

Nimbuspwn 存在于 networkd-dispatcher 组件,该组件用于在 Linux 设备上发送连接状态变化,目前已经以 CVE-2022-29799CVE-2022-29800 进行追踪。

发现这些漏洞是从“监听系统总线上的消息”开始的,这促使研究人员审查 networkd-dispatcher 的代码流。微软研究员Jonathan Bar Or在报告中解释说,Nimbuspwn 的安全缺陷是指目录穿越、符号链接竞赛和检查时间-使用时间(TOCTOU)竞赛条件问题。

一个引起兴趣的观察结果是,networkd-dispatcher守护进程在启动时以系统的根权限运行。研究人员注意到,该守护进程使用了一种名为”_run_hooks_for_state”的方法,根据检测到的网络状态发现并运行脚本。

它使用名为 subprocess.Popen 的进程运行上述位置的每个脚本,同时提供自定义环境变量。微软的报告解释说,”_run_hooks_for_state”有多个安全问题。

● 目录遍历(CVE-2022-29799):流程中没有一个函数对OperationalState或AdministrativeState进行消毒。这些状态被用来建立脚本路径,因此一个状态可能包含目录遍历模式(例如”…/…/”),以逃离”/etc/networkd-dispatcher”基本目录。

● 符号链接竞赛:脚本发现和subprocess.Popen都遵循符号链接。

● 检查时间-使用时间(TOCTOU)竞赛条件(CVE-2022-29800):脚本被发现和它们被运行之间有一定时间。攻击者可以滥用这个漏洞,将networkd-dispatcher认为由root拥有的脚本替换成不属于root的脚本。