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





大多数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
免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。查看原文

为您推荐