cover_image

漏洞预警 | procps-ng 本地提权

长亭安全应急响应中心
2018年05月25日 06:45


        长 亭 漏 洞 预 警        


      procps-ng 本地提权



procps是一款Linux系统中的进程管理和内存管理工具,它通过/proc目录搜集进程的信息。

2018年5月24日,Qualys研究实验室发布了有关于procps-ng的五个漏洞公告,分别是:


CVE-2018-1124 本地提权漏洞(影响较严重)

CVE-2018-1120 procps拒绝服务

CVE-2018-1121 非特权进程隐藏

CVE-2018-1122 本地提权漏洞

CVE-2018-1123 procps拒绝服务



漏洞详情


CVE-2018-1124

危害等级

漏洞描述

默认情况下pgrep,pidof,pkill,w命令及加入非默认选项的其它procps-ng工具会使用 libprocps 中的file2strvec函数来解析/proc/pid/cmdline或者/proc/pid/environ。在解析的过程中可能发生整数溢出漏洞进而导致代码执行。此外,漏洞报告者(Qualys)已经展示了此漏洞可以被成功利用。

漏洞触发条件

在使用procps-ng 3.3.15版本的前提下,当低权限的用户(包括docker等容器内的用户)构造一个恶意的/proc/pid/cmdline或者/proc/pid/environ后,管理员或者高权限的脚本程序一旦调用pgrep,pidof,pkill,w等命令,即有可能触发漏洞导致攻击者直接获得执行该命令的管理员的权限(可穿透docker等容器,绕过chroot等限制)。

另外,即使当前binary开启NX,ASLR,PIE,full RELRO,Stack Canary,FORTIFY等利用缓解措施,漏洞依然有可能被利用。

影响版本

使用了procps-ng==3.3.15版本的所有Linux

解决方案

目前官方还未给出修复方案,可使用Qualys研究实验室提供的补丁

https://www.qualys.com/2018/05/17/procps-ng-audit-report-patches.tar.gz


CVE-2018-1120

用户空间文件系统(Filesystem in Userspace,简称FUSE)是一个面向类Unix计算机操作系统的软件接口,它使无特权的用户能够无需编辑内核代码而创建自己的文件系统。

危害等级

漏洞描述

procps-ng 3.3.15之前版本存在一处拒绝服务漏洞。攻击者可通过向cmdline或environ添加命令行参数的方式,用于破坏pgrep,pidof,pkill,ps,w的正常使用。

漏洞触发条件

在使用了procps-ng<3.3.15版本的前提下,当攻击者在本地构造出包含恶意命令行参数的cmdline或environ后,管理员或者高权限脚本或进程一旦执行相关procps工具,即有可能触发漏洞。

影响版本

使用了procps-ng<3.3.15版本的所有Linux

解决方案

升级procps-ng至3.3.15版本,并打上由Qualys发布的报告(见本文关于CVE-2018-1124中的解决方案)


CVE-2018-1121

危害等级

漏洞描述

在使用procps-ng 3.3.15以下版本时,procps-ng工具在执行的过程中会读入每一个进程的/proc/pid/cmdline,当遇到恶意构造的cmdline等,可能会触发procps内的拒绝服务或者竞争条件漏洞,导致某一个非特权进程从procps-ng工具集(pgrep,pidof,pkill,ps,w)的显示列表中隐藏。

漏洞触发条件

在使用procps-ng 3.3.15以下版本的前提下,攻击者在本地构造恶意/proc/pid/cmdline等相关变量后,管理员或者高权限脚本或进程一旦执行相关procps工具,即有可能触发漏洞。

影响版本

使用了procps-ng<3.3.15版本的所有Linux

解决方案

升级procps-ng至3.3.15版本,并打上由Qualys发布的报告(见本文关于CVE-2018-1124中的解决方案)


CVE-2018-1122

top用于动态展示进程的状态,并且会一直刷新进程所占用的内存等信息。

危害等级

漏洞描述

在procps-ng 3.3.15之前版本中,如果管理员等高权限用户或者脚本、程序在攻击者可写的目录中执行top命令,并且HOME环境变量未设置或为空,top会从当前目录读取配置文件且不加入任何安全检查,从而在配置文件的处理过程中可能造成任意代码执行。

漏洞触发条件

在使用小于procps-ng 3.3.15的版本的情况下,管理员在攻击者可写的目录中执行top命令,并且HOME环境变量未设置或为空。

影响版本

使用了procps-ng<3.3.15版本的所有Linux

解决方案

升级procps-ng至3.3.15版本,并打上由Qualys发布的报告(见本文关于CVE-2018-1124中的解决方案)


CVE-2018-1123

ps用于展示ps命令执行时进程的状态。

危害等级

漏洞描述

procps-ng 3.3.15之前版本的ps程序的pr_args,pr_comm和 pr_fname函数存在缓冲区溢出bug。攻击者可以溢出ps程序的输出缓冲区,造成对ps程序本身的拒绝服务。这个溢出被利用做本地提权的可能性极小。

漏洞触发条件

使用小于procps-ng 3.3.15的版本时,攻击者在构造了恶意的命令行之后,管理员或者高权限脚本或进程一旦执行ps程序,即有可能触发漏洞。

影响版本

使用了procps-ng<3.3.15版本的所有Linux

解决方案

升级procps-ng至3.3.15版本,并打上由Qualys发布的报告(见本文关于CVE-2018-1124中的解决方案)


参考链接



漏洞报告详情: 

http://www.openwall.com/lists/oss-security/2018/05/17/1



procps官方Gitlab仓库: 

https://gitlab.com/procps-ng/procps



Red Hat公告: 

https://access.redhat.com/security/cve/cve-2018-1120


Red Hat公告: 

https://access.redhat.com/security/cve/cve-2018-1121


Red Hat公告: 

https://access.redhat.com/security/cve/cve-2018-1122



Red Hat公告: 

https://access.redhat.com/security/cve/cve-2018-1123



Red Hat公告: 

https://access.redhat.com/security/cve/cve-2018-1124



图片


长 亭 应 急 响 应 服 务


全力进行产品升级

及时将预警预案发送给客户

检测业务是否受到此次漏洞影响

请联系长亭应急团队

7*24小时,守护您的安全!

图片


第一时间找到我们:

邮箱:support@chaitin.com

应急响应热线:4000-327-707




2018漏洞风险提示 · 目录
上一篇漏洞预警 | Red Hat DHCP客户端脚本远程命令注入下一篇漏洞预警 | 微信支付Java版本SDK存在XXE漏洞
继续滑动看下一个
长亭安全应急响应中心
向上滑动看下一个