查看原文
其他

只要满足这个条件,低权限 Linux 用户就能执行任意命令!

Mohit Kurma 代码卫士 2022-05-23

 聚焦源代码安全,网罗国内外最新资讯!

编译:360代码卫士团队

研究人员发现了一个新漏洞,多数 Linux 系统上 UID 值大于 2147483647 的低权限用户账户能够越权执行任意 systemctl 命令。

该漏洞实际上存在于 PolicyKit (也被称为 polkit)中。它是一款应用程序级别的 Unix 类操作系统工具包,用于定义策略、处理系统权限,并为非权限进程和权限进程如“sudo”(未向整个进程授予根权限)提供相互通信的方法。

该漏洞的编号是 CVE-2018-19788,影响 PolicyKit 版本0.115,而该版本一般预装在多数流行 Linux 发行版本中,包括 Red Hat、Debian、Ubuntu 和 CentOS。

该漏洞存在的原因是 PolicyKit 对任意 UID 值大于 INT_MAX 的低权限用户的权限请求。INT_MAX 是计算机程序中的一个常量,定义了整数变量能存储的最大值2147483647(十六进制:0x7FFFFFFF)。也就是说,如果在受影响 Linux 系统上创建一个用户账户且它的 UID 值大于 INT_MAX,那么 PolicyKit 组件将允许用户成功地执行任意 systemctl 命令。

安全研究员 Rich Mirch(推特名:0xm1rch)也发布了 PoC代码利用,成功地验证了要求用户 UID 为4000000000的漏洞情况。

Red Hat 已经建议系统管理员不允许任意值为负的 UID 或者大于2147483646 的 UID,以便在补丁发布前缓解该问题。




推荐阅读

Linux 内核又被曝两个未修复的 DoS 漏洞



原文链接

https://thehackernews.com/2018/12/linux-user-privilege-policykit.html



本文由360代码卫士编译,不代表360观点,转载请注明“转自360代码卫士 www.codesafe.cn”。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存