告警! UID > INT_MAX的非特权Linux用户可以执行任何命令(内含POC)

2018-12-07 08:42:46 3 2794

据报道,大多发行版的Linux操作系统上UID值大于2147483647的低特权用户在未经授权下执行任何systemctl命令。该CVE-2018-19788漏洞是由于PolicyKit对UID大于INT_MAX的任何低权限用户的权限请求验证不当造成的。





大多数Linux操作系统上UID值大于2147483647的低特权用户帐户在未经授权下可执行任何systemctl命令,这就是新发现的漏洞。漏洞实际上存在于PolicyKit(也称为polkit)中 。polkit是适用于类Unix操作系统的应用程序级工具包,它定义策略、处理系统范围的权限,并为非特权进程提供与特权进程通信的方式(例如“sudo”),这些特权进程不向整个进程授予root权限。

该漏洞被命名为CVE-2018-19788,它可以影响PolicyKit 0.115版本。PolicyKit 0.115版本预装在大多数流行的Linux发行版上,包括Red Hat、Debian、Ubuntu和CentOS。

由于PolicyKit对UID大于INT_MAX的任何低权限用户的权限请求验证不当,因此存在此漏洞。INT_MAX是计算机编程中的常量,它定义整型变量可以存储的最大值,值为2147483647(十六进制0x7FFFFFFF)。若在受影响的Linux系统上创建任何UID大于INT_MAX值的帐户,PolicyKit组件将允许执行任何systemctl命令。

Twitter昵称是“0xm1rch”的安全研究员Rich Mirch,发布了PoC,成功使用UID 为4000000000的用户触发了漏洞。

红帽建议系统管理员在补丁发布之前,不要允许任何uid大于2147483646。

POC地址:https://github.com/mirchr/security-research/blob/master/vulnerabilities/CVE-2018-19788.sh

关于作者

D_D952761篇文章465篇回复

评论3次

要评论?请先  登录  或  注册